大きなグラフで Newman のモジュール性クラスタリング アルゴリズムを実行することに興味があります。それを実装しているライブラリ (または R パッケージなど) を教えていただければ幸いです。
最高~らら
大きなグラフで Newman のモジュール性クラスタリング アルゴリズムを実行することに興味があります。それを実装しているライブラリ (または R パッケージなど) を教えていただければ幸いです。
最高~らら
R用のigraphパッケージを使用します。http://igraph.sourceforge.net/doc/R/fastgreedy.community.html これ は、newman-girvanモジュール性最大化方法を使用したコミュニティ検索のための高速アルゴリズムを実装します。
コードは次のようになります。
library(igraph)
# read graph from csv file
G<-read.graph("edgelist.txt", format="ncol")
fgreedy<-fastgreedy.community(G,merges=TRUE, modularity=TRUE)
memberships <-community.to.membership(G, fgreedy$merges, steps=which.max(fgreedy$modularity)-1)
print(paste('Number of detected communities=',length(memberships$csize)))
# Community sizes:
print(memberships$csize)
# modularity:
max(fgreedy$modularity)
オープンソースのデータ視覚化ツールであるGephiがこのアルゴリズムで実行されているかどうかはよくわかりません。私が知っているように、それは紙のアルゴリズムで実行されます:大規模なネットワークにおけるコミュニティの迅速な展開
また、モジュール性ベースのメソッドでもあります。
優れた networkx パッケージには、Newman-Watts-Strogatz のスモール ワールド グラフを返すメソッドがあります。