naive_greedy_modularity_communities#
- naive_greedy_modularity_communities(G, resolution=1, weight=None)[source]#
使用贪婪模块度最大化方法在图G中寻找社区。
此实现的时间复杂度为O(n^4),远慢于其他替代方法,但它提供了一个易于理解的参考实现。
贪婪模块度最大化从每个节点在其自己的社区开始,并合并最能增加模块度的两个社区,直到不存在这样的社区对为止。
此函数最大化广义模块度,其中
resolution
是分辨率参数,通常表示为:math:gamma
。参见modularity()
。- Parameters:
- GNetworkX图
图必须是简单且无向的。
- resolutionfloat (默认=1)
如果分辨率小于1,模块度倾向于较大的社区。大于1则倾向于较小的社区。
- weightstring 或 None, 可选 (默认=None)
边属性名称,用于保存作为权重的数值。如果为None,则每条边的权重为1。 节点的度是与其相邻边的权重之和。
- Returns:
- list
一个由节点集合组成的列表,每个集合代表一个社区。 按长度排序,最大的社区在前。
See also
greedy_modularity_communities
modularity
Examples
>>> G = nx.karate_club_graph() >>> c = nx.community.naive_greedy_modularity_communities(G) >>> sorted(c[0]) [8, 14, 15, 18, 20, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33]