2010-08-19 11 views
13

Je suis intéressé par l'algorithme de clustering modularity de Newman sur un grand graphique. Si vous pouvez me diriger vers une bibliothèque (ou un paquet R, etc.) qui l'implémente, je serais très reconnaissant.Cluster de modularité de Newman pour les graphiques

mieux ~ lara

+0

Vous pouvez également essayer sur stats.stackexchange.com. – mbq

+0

@mbq: cool, merci beaucoup. je vais essayer ça. :) – laramichaels

+0

Semble que cela a fonctionné ;-) – mbq

Répondre

8

Utilisez le paquet igraph R: http://igraph.sourceforge.net/doc/R/fastgreedy.community.html ce implémente un algorithme rapide pour résultat communautaire en utilisant la méthode de maximisation de la 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) 
1

Je ne suis pas tout à fait sûr que l'outil de visualisation de données open source, Gephi, est en cours d'exécution avec cet algorithme. Comme je sais, il fonctionne avec l'algo en papier: Déploiement rapide des communautés dans les grands réseaux

C'est aussi une méthode basée sur la modularité.