关闭

开源复杂网络分析软件中社团发现算法总结

891人阅读 评论(0) 收藏 举报

开源复杂网络分析软件中社团发现算法总结

 2299人阅读 评论(0) 收藏 举报
 分类:
 

复杂网络研究中的一个重要部分就是社团发现(Community Detection)算法的研究,密歇根大学物理学系教授Mark Newman就主要在社团发现方面做出了很多贡献。今天简单总结一下几个开源复杂网络分析软件中的社团发现算法:

首先是NetworkX,这个软件非常好用,功能强大,文档清晰。我也写过多篇日志介绍。遗憾的是NetworkX的社团发现算法很简单,按照这里的介绍,其主要实现了下面这个算法:

G. Palla, I. Derényi, I. Farkas, and T. Vicsek, “Uncovering the overlapping community structure of complex networks in nature and society,” Nature, vol. 435, pp. 814-818, 2005.

而且在运行算法的时候需要指定需要输出的社团的最小规模,如:

[python] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. c = list(nx.k_clique_communities(G, 4))  

这样c中包含了所有社团大小大于等于4的所有社团。

其次是Gephi,这个软件在很多方面也很强大,例如复杂网络可视化等。但是社团发现算法也比较单一,打开其界面后,点击右侧的“模块化”,就可以使用下面的算法进行分析:

V. D. Blondel, J. Guillaume, R. Lambiotte, and E. Lefebvre, “Fast unfolding of communities in large networks,” Journal of Statistical Mechanics: Theory and Experiment, vol. 2008, p. P10008, 2008.

Gephi支持相应的模块度(Modularity)的计算,也支持社团划分结果的输出。

上面两个软件的功能都比较单一,经过查阅文献,我们发现有些论文用到了igraph这个软件包,这个包支持R,C语言和Python,如果之前使用NetworkX,可以无缝地和这个软件整合起来,igraph实现了较多的社团划分算法,可以参考其Reference Manual查找。例如下列算法其都实现了:

M. E. Newman and M. Girvan, “Finding and evaluating community structure in networks,” Physical review E, vol. 69, p. 026113, 2004.

A. Clauset, M. E. Newman and C. Moore, “Finding community structure in very large networks,” Physical review E, vol. 70, p. 066111, 2004.

U. N. Raghavan, R. Albert and S. Kumara, “Near linear time algorithm to detect community structures in large-scale networks,” Physical Review E, vol. 76, p. 036106, 2007.

总体上来讲,igraph实现的Community Detection算法最多,而且可以通过Python和NetworkX无缝衔接,至于NetworkX和Gephi,我之前有一篇日志,介绍了两者的网络数据可以如何转化。就总结这么多。最后附上一张我在论文里用Gephi做的图:

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

开源复杂网络分析软件中社团发现算法总结

复杂网络研究中的一个重要部分就是社团发现(Community Detection)算法的研究,密歇根大学物理学系教授Mark Newman就主要在社团发现方面做出了很多贡献。今天简单总结一下几个开...
  • qysh123
  • qysh123
  • 2014-03-15 11:19
  • 7908

Python NetworkX库实现复杂网络

1.具有社团结构的网络(Networks with Community Structure) 定义: 对于一个图G而言,如果其中有一个完全子图(任意两个节点之间均存在边),节点数是k,那么这个完全子图...
  • qq_33638791
  • qq_33638791
  • 2017-03-13 18:33
  • 1172

社区网络算法总结

复杂网络社区发现方法总结: 参考文献: [1]       Kernighan B W and Lin S. An efficient heuristic procedure for p...
  • mark555
  • mark555
  • 2014-11-27 09:25
  • 926

[资源贴]NIPS2016下载地址

从NIPS官网上爬取HTTP源码.然后进行按要求修改成下载地址. 建议:使用迅雷批处理下载. http://papers.nips.cc/paper/6507-scan-order-...
  • caicai_zju
  • caicai_zju
  • 2016-11-19 15:02
  • 6612

复杂网络社区结构发现算法-基于python networkx clique渗透算法

前言     最近因为业务数据分析的需要,看社区发现相关的东东稍多些,刚刚写过一篇基于igraph C library的方法(http://km.oa.com/group/22323/article...
  • a_step_further
  • a_step_further
  • 2016-04-18 08:21
  • 7261

开源复杂网络分析软件中社团发现算法总结

复杂网络研究中的一个重要部分就是社团发现(Community Detection)算法的研究,密歇根大学物理学系教授Mark Newman就主要在社团发现方面做出了很多贡献。今天简单总结一下几个开...
  • qysh123
  • qysh123
  • 2014-03-15 11:19
  • 7908

社区发现(Community Detection)算法

作者: peghoty  出处: http://blog.csdn.net/peghoty/article/details/9286905    社区发现(Commun...
  • cleverlzc
  • cleverlzc
  • 2014-09-23 10:25
  • 49005

本科毕设

第一篇博文,介绍本科毕设。
  • lixintong1992
  • lixintong1992
  • 2015-07-18 16:00
  • 796

复杂网络社区结构发现算法-基于python networkx clique渗透算法

前言     最近因为业务数据分析的需要,看社区发现相关的东东稍多些,刚刚写过一篇基于igraph C library的方法(http://km.oa.com/group/22323/article...
  • a_step_further
  • a_step_further
  • 2016-04-18 08:21
  • 7261

【复杂网络系列】社团发现简介

无论从理论研究还是从实际应用的角度来看,研究网络中的社团结构都是非常重要的,原因如下:1,可以从网络的局部结构上更好地理解节点与边的结构与功能;2.可以以社团为基本单位从中观层次更好地理解整个网络的动...
  • piaoxuefengqi
  • piaoxuefengqi
  • 2014-03-16 14:45
  • 3255
    个人资料
    • 访问:12726次
    • 积分:173
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:23篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论