我有我的图表,我试图找到每个集群的模块化。为此,我实施了以下步骤:
这是我的密码:
cc = sorted(nx.connected_components(g), key=len, reverse=True)
giantCC = g.subgraph(cc[0])
print("Giant cc size: " + str(giantCC.number_of_nodes()))
communities = list(greedy_modularity_communities(giantCC))
communities = sorted(communities, key=len, reverse=True)
print('Number of clusters: ' + str(len(communities)))
communities = [list(x) for x in communities]
cluster_modularity = nx_comm.modularity(giantCC, communities[0])
print('Modularity: ' + str(cluster_modularity))
为什么我会犯这个错误
问题是您正在使用的模块化计算函数(this one)使用所有通信来计算模块化,因为它是网络分区的一个值。
所以你应该这样使用它:
另外,我建议使用Louvain启发式方法对图进行分区,使用此方法的networkX API已经可用了here
相关问题 更多 >
编程相关推荐