库来检测网络中的重叠社区?
在几秒钟内寻找一个在相当大的网络中检测重叠社区(最多10,000个节点)的lib,而不是几分钟? [注:通过“网络”我的意思是一个图表]
回应评论询问详情,这里是一个简单的例子:
DEF
|
G
|
ABC
有许多算法能够将(D,E,F,G)和(A,B,C)检测为这个网络中的2个不同的(不重叠的)社区 - 当然还有(D,E,F)和(A,B,C,G)。
我正在寻找一种用Java实现的算法,它能够将(D,E,F,G)和(A,B,C,G)检测为两个重叠(因为它们在G上重叠)社区网络。
试试斯坦福大学的SNAP工具。 他们在已经实现的examples文件夹中有这个用例。
http://snap.stanford.edu/
尝试gephi。 我相信你打算做的事情已经在那里实施了。 但是,它是开源的(3 GPL),您可以从代码中获得一些想法。 java Graph API描述在这里。
您也可能想要查看这篇文章
COPRA是一种在JAVA中实现重叠社区的算法,速度非常快。
http://www.cs.bris.ac.uk/~steve/networks/software/copra.html
其他用于重叠群集的有用链接(不一定用java编写)是:
MOSES:cliquecluster.org/moses
OSLOM:oslom.org/
OVERMAP:bitbucket.org/dsign/grbracket/wiki/Home
随机区块模型:github.com/premgopalan/svinet
链接地址: http://www.djcxy.com/p/11721.html上一篇: library to detect overlapping communities in a network?