聚类#
- clustering(G, nodes=None, mode='dot')#
计算节点的二分聚类系数。
二分聚类系数是衡量连接局部密度的指标,定义为 [1]
\[c_u = \frac{\sum_{v \in N(N(u))} c_{uv} }{|N(N(u))|}\]其中
N(N(u))
是u
在G
中的二阶邻居(不包括u
),c_{uv}
是节点u
和v
之间的成对聚类系数。mode 参数选择
c_{uv}
的计算函数,可以是:点积
:\[c_{uv}=\frac{|N(u)\cap N(v)|}{|N(u) \cup N(v)|}\]最小值
:\[c_{uv}=\frac{|N(u)\cap N(v)|}{min(|N(u)|,|N(v)|)}\]最大值
:\[c_{uv}=\frac{|N(u)\cap N(v)|}{max(|N(u)|,|N(v)|)}\]- 参数:
- G图
一个二分图
- nodes列表或可迭代对象 (可选)
计算这些节点的二分聚类系数。默认是图 G 中的所有节点。
- mode字符串
计算中使用的成对二分聚类方法。必须是 “dot”、“max” 或 “min”。
- 返回:
- clustering字典
一个字典,键是节点,值是聚类系数值。
参考文献
[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.
示例
>>> from networkx.algorithms import bipartite >>> G = nx.path_graph(4) # path graphs are bipartite >>> c = bipartite.clustering(G) >>> c[0] 0.5 >>> c = bipartite.clustering(G, mode="min") >>> c[0] 1.0