2010-08-19 20 views
13

Ich interessiere mich für Newman's modularity Clustering-Algorithmus auf einem großen Graphen. Wenn Sie mich auf eine Bibliothek (oder ein R-Paket usw.) verweisen können, die es implementiert, wäre ich sehr dankbar.Newmans Modularitätscluster für Graphen

beste ~ lara

+0

Sie können auch auf stats.stackexchange.com versuchen. – mbq

+0

@mbq: cool, vielen dank. Ich werde das versuchen. :) – laramichaels

+0

Scheint es hat funktioniert ;-) – mbq

Antwort

8

die IGRAPH Paket für R Verwendung: http://igraph.sourceforge.net/doc/R/fastgreedy.community.html dies implementiert einen schnellen Algorithmus für Community Finden der newman-girvan Modularität Maximierung Methode.

Ihr Code wie folgt aussehen:

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) 
1

Ich bin mir nicht ganz sicher, ob die Open-Source-Datenvisualisierungstool, Gephi, mit diesem Algorithmus ausgeführt wird. Wie ich weiß, läuft es mit dem Algo in Papier: Schnelle Entfaltung von Communities in großen Netzwerken

Es ist auch eine Modularität basierte Methoden.