始める無料で始める

Fast-greedy によるコミュニティ検出

最初に試すコミュニティ検出手法は、Fast-greedy 法です。ここでは Zachary Karate Club のネットワークを使います。このソーシャルネットワークには 34 人のクラブメンバーと 78 本のエッジが含まれています。各エッジは、その 2 人のクラブメンバーが空手クラブ内だけでなく、クラブ外でも交流していることを示します。このネットワークを用いて、いくつのサブコミュニティが存在するか、また各クラブメンバーがどのサブグループに属するかを確かめます。さらに、コミュニティ所属に基づいてネットワークをプロットします。

この演習はコースの一部です

Rで学ぶネットワーク分析

コースを見る

演習の手順

  • fastgreedy.community() 関数を使ってコミュニティオブジェクトを作成し、kc に代入します。
  • kc に対して sizes() 関数を使い、検出されたコミュニティの数と各コミュニティのメンバー数を確認します。
  • membership() 関数を使って、どのクラブメンバーがどのコミュニティに属するかを表示します。
  • 既定のコミュニティプロットを plot() 関数で作成します。第1引数はオブジェクト kc、第2引数はグラフオブジェクト g にします。

実践的なインタラクティブ演習

このサンプルコードを完成させて、この演習に挑戦してみましょう。

# Perform fast-greedy community detection on network graph
kc = ___(g)

# Determine sizes of each community
___(___)

# Determine which individuals belong to which community
___(___)

# Plot the community structure of the network
___(___, g)
コードを編集して実行