我正在尝试不同的社区检测算法,并且能够得到除spinglass之外的所有社区检测算法的一些结果。我正在使用完全相同的图表,但我得到一个错误。
代码
g = Graph.TupleList(tupleMapping)
cl = g.community_spinglass()
错误
File "/Library/Python/2.7/site-packages/igraph/__init__.py", line 1265, in community_spinglass
membership = GraphBase.community_spinglass(self, *args, **kwds)
igraph._igraph.InternalError: Error at clustertool.cpp:286: Cannot work with unconnected graph, Invalid value
我确实有边和顶点,同一个图与iggraph中的所有其他社区检测算法(前导特征向量、gn、infomap、标签传播、多级、walktrap)一起工作,而不是spinglas。
最佳答案
iggraph中包含的spinglass聚类算法的实现只对连通图起作用。必须将图分解为其连接的组件,对每个连接的组件运行集群,然后手动合并集群的成员向量。