clustering#

clustering(G, nodes=None, mode='dot')#

计算节点的二分聚类系数。

二分聚类系数是局部连接密度的度量,定义为 [1]

cu=vN(N(u))cuv|N(N(u))|

其中 N(N(u))G 中排除 uu 的二阶邻居, 而 c_{uv} 是节点 uv 之间的成对聚类系数。

模式选择用于 c_{uv} 的函数,可以是:

dot

cuv=|N(u)N(v)||N(u)N(v)|min
cuv=|N(u)N(v)|min(|N(u)|,|N(v)|)max
cuv=|N(u)N(v)|max(|N(u)|,|N(v)|)
Parameters:
G

一个二分图

nodes列表或可迭代对象(可选)

计算这些节点的二分聚类。默认是 G 中的所有节点。

mode字符串

计算中使用的成对二分聚类方法。必须是 “dot”、”max” 或 “min”。

Returns:
clustering字典

一个以节点为键,聚类系数值为值的字典。

References

[1]

Latapy, Matthieu, Clémence Magnien, and Nathalie Del Vecchio (2008). Basic notions for the analysis of large two-mode networks. Social Networks 30(1), 31–48.

Examples

>>> from networkx.algorithms import bipartite
>>> G = nx.path_graph(4)  # 路径图是二分图
>>> c = bipartite.clustering(G)
>>> c[0]
0.5
>>> c = bipartite.clustering(G, mode="min")
>>> c[0]
1.0