【问题标题】:Why is my igraph multilevel community modularity None?为什么我的 igraph 多级社区模块化没有?
【发布时间】:2016-05-21 04:53:07
【问题描述】:
我在 igraph 中使用以下方法创建了社区:
g = Graph.TupleList(tupleMapping)
layout = g.layout("rt")
comm = g.community_multilevel()
但是如何访问这些集群级别?我可以打印社区,但我想访问不同的聚类级别。
我尝试使用以下方式打印模块化:
print comm._modularity
但我的控制台返回 null。你知道为什么吗?
谢谢。
【问题讨论】:
标签:
python
cluster-analysis
igraph
membership
modularity
【解决方案1】:
community_multilevel() 仅返回最佳级别(即具有最高模块化的级别)。如果您需要访问所有级别,请阅读API docs of community_multilevel() 并使用return_levels=True 关键字参数;这将为您提供所有级别的列表。
我尝试使用 [...] 打印模块化,但我的控制台返回 null。你知道为什么吗?
是的。您正在访问不应该访问的私有 API。您应该使用modularity 属性,而不是_modularity。当您第一次实际尝试访问modularity 属性时,模块化计算并缓存在私有_modularity 变量中。由于您通过直接读取_modularity 来绕过此机制,因此 igraph 不会先计算模块性。