我正在尝试不同的社区检测算法,并能够获得所有社区检测算法期望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
我确实有边缘和顶点,并且相同的图形与igraph(Leading eigenvector,GN,InfoMap,Label propagation,Multi-level,Walktrap)中的所有其他社区检测算法一起工作,而不是spinglass .
2 回答
igraph中包含的spinglass聚类算法的实现仅适用于连通图 . 您必须将图形分解为其连接的组件,在每个连接的组件上运行聚类,然后手动合并聚类的成员资格向量 .
如前所述,
您可以使用iGraph的
clusters
方法分解主图,如下例所示: