Модульная кластеризация Ньюмана для графов - PullRequest
13 голосов
/ 19 августа 2010

Мне интересно запустить алгоритм кластеризации Ньюмана modularity на большом графике.Если бы вы могли указать мне на библиотеку (или R-пакет и т. Д.), Которая ее реализует, я был бы очень признателен.

Ответы [ 3 ]

8 голосов
/ 25 октября 2012

Используйте пакет igraph для R: 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)
1 голос
/ 04 июня 2014

Я не совсем уверен, работает ли с этим алгоритмом инструмент визуализации данных с открытым исходным кодом, Gephi .Как я знаю, он работает с алгоритмом из бумаги: Быстрое развертывание сообществ в больших сетях

Это также методы на основе модульности.

0 голосов
/ 25 сентября 2010

В превосходном пакете networkx есть метод , который возвращает граф маленького мира Ньюмана-Ватта-Строгатца.

...