clustering#
- clustering(G, nodes=None, mode='dot')#
计算节点的二分聚类系数。
二分聚类系数是局部连接密度的度量,定义为 [1]:
\[c_u = \frac{\sum_{v \in N(N(u))} c_{uv} }{|N(N(u))|}\]其中
N(N(u))
是G
中排除u
的u
的二阶邻居, 而c_{uv}
是节点u
和v
之间的成对聚类系数。模式选择用于
c_{uv}
的函数,可以是:dot
:\[ \begin{align}\begin{aligned} c_{uv}=\frac{|N(u)\cap N(v)|}{|N(u) \cup N(v)|}\\`min` :\end{aligned}\end{align} \]\[ \begin{align}\begin{aligned} c_{uv}=\frac{|N(u)\cap N(v)|}{min(|N(u)|,|N(v)|)}\\`max` :\end{aligned}\end{align} \]\[c_{uv}=\frac{|N(u)\cap N(v)|}{max(|N(u)|,|N(v)|)}\]- Parameters:
- G图
一个二分图
- nodes列表或可迭代对象(可选)
计算这些节点的二分聚类。默认是
G
中的所有节点。- mode字符串
计算中使用的成对二分聚类方法。必须是 “dot”、”max” 或 “min”。
- Returns:
- clustering字典
一个以节点为键,聚类系数值为值的字典。
See also
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