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)