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]