La modularité de Newman clustering de graphes
je suis intéressé par l'exécution de Newman modularité algorithme de regroupement sur un grand graphique. Si vous pouvez m'indiquer une bibliothèque (ou un paquet R, etc.) qui l'implémente, je vous en serais très reconnaissant.
meilleur ~lara
3 réponses
Utilisez le paquet igraph pour R: http://igraph.sourceforge.net/doc/R/fastgreedy.community.html ceci implémente un algorithme rapide pour la recherche de communauté en utilisant la méthode de maximisation de modularité newman-girvan.
votre code ressemblera à ceci:
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)
Je ne suis pas sûr que l'outil de visualisation de données open-source, Gephi, fonctionne avec cet algorithme. Comme je le sais, il fonctionne avec l'algo dans le papier:Rapide déroulement de communautés dans les réseaux de grande taille
c'est aussi une méthode basée sur la modularité.
Il y a une méthode dans l'excellent paquet networkx cela renvoie un petit graphe mondial Newman-Watts-Strogatz.