2011-04-28 124 views
22

我正在尋找社區檢測算法的實現,如Girvan-Newman算法(2002)。我訪問過這個領域的幾位研究人員的網站(Newman,Santo等),但無法找到任何代碼。我想象那裏有人發佈了這些算法的實現(甚至可能是一個工具包?),但我似乎無法找到它。在圖中是否有社區檢測算法的實現?

+0

請參見:[matlab-networks-toolbox](https://github.com/ivan-brugere/matlab-networks-toolbox) – kenorb 2015-05-13 10:14:13

回答

36

社區檢測算法有時是庫的一部分(如用於java的JUNG)或工具(請參閱Gephi)。當作者發佈一種新方法時,他們有時會提供他們的代碼。例如,LouvainInfomap方法。

備註:Girvan-Newman算法有時仍在使用,但它大部分被更快和更準確的方法取代。爲了很好地概述這個話題,我推薦Community detection algorithms: a comparative analysis或更長的Community detection in graphs(103頁)。

24

你應該看看igraph library

  • 7個社區檢測算法(包括以上mentionned):
    • Edgebetweenness(格文 - 紐曼基於鏈路中心地位的方法),
    • Walkrap(Pons-Latapy random walk-based approach),
    • 主要特徵向量(Newman's spectral approach),
    • 快速貪婪(Clauset et。人模塊化優化),
    • 標籤傳播(Raghavan等人),
    • 魯汶(布隆德爾等人,模塊化優化),
    • Spinglass(雷查德-Bornholdt,模塊化優化),
    • InfoMap(Rosvall -Bergstrom,基於壓縮的方法)。
  • 其他相關功能:處理模塊,處理分層結構等
  • 可在R,C和Python
  • 開源

爲了我個人認爲,最完整的工具社區檢測。 有關詳細信息,還要檢查:What are the differences between community detection algorithms in igraph?

+0

現在也可以在Mathematica中獲得:https://github.com/szhorvat/IGraphM涵蓋所有社區檢測功能。 – Szabolcs 2015-10-22 21:44:42

0

我們最近實施our algorithm,這是基於恆波茨模型,快速魯汶優化,併爲加權,並簽署網絡InfoMap可靠的地圖式。 Here是開源的java項目+一個可執行的jar。

相關問題