聚类#
- clustering(G, nodes=None, weight=None)[源代码]#
计算节点的聚类系数。
对于未加权的图,节点的聚类 \(u\) 是通过该节点的可能三角形的分数,
\[C U=\frac 2 t(U)deg(U)(deg(U)-1),\]在哪里? \(T(u)\) 是通过节点的三角形数 \(u\) 和 \(deg(u)\) 是的程度 \(u\) .
对于加权图,有几种定义聚类的方法 [1]. 此处使用的边权重定义为子图边权重的几何平均值 [2],
\[c\u u=\frac{1}{deg(u)(deg(u)-1))}\]边缘权重 \(\hat{{w}}_{{uv}}\) 通过网络中的最大权重进行规范化 \(\hat{{w}}_{{uv}} = w_{{uv}}/\max(w)\) .
价值 \(c_u\) 分配给0的条件是 \(deg(u) < 2\) .
此外,该加权定义已被推广以支持负边权重 [3].
对于有向图,聚类类似地定义为所有可能的有向三角形的分数或未加权和有权有向图的子图边权重的几何平均值 [4].
\[C_u=\frac{2}{deg^{tot}(U)(deg^{tot}(U)-1)-2 deg^{\leftrihtarrow}(U)} T(U),\]在哪里? \(T(u)\) 是通过节点的有向三角形数 \(u\) , \(deg^{{tot}}(u)\) 是的进度和出度之和 \(u\) 和 \(deg^{{\leftrightarrow}}(u)\) 是的倒数度 \(u\) .
- 参数
- G图表
- nodes节点容器,可选(默认为G中的所有节点)
计算此容器中节点的群集。
- weight字符串或无,可选(默认值=无)
保存用作权重的数值的边属性。如果没有,则每条边的权重为1。
- 返回
- out浮点型或字典
指定节点处的聚类系数
笔记
忽略自循环。
工具书类
- 1
J.Saram_ki,M.Kivel_,J.-P.Onnela,K.Kaski和J.Kert_sz,物理评论E,75 027105(2007),将聚类系数推广到加权复杂网络。http://jponnela.com/web_文档/a9.pdf
- 2
J.P.Onnela,J.Saram_ki,J.Kert_sz和K.Kaski,物理评论E,71(6),065103(2005),加权复杂网络中基序的强度和一致性。
- 3
G.Costantini和M.Perugini将聚类系数推广到符号相关网络,《公共科学图书馆》,第9(2),e88669(2014)。
- 4
《复杂定向网络中的聚类》,G.Fagiolo著,物理评论E,76(2),026107(2007)。
实例
>>> G = nx.complete_graph(5) >>> print(nx.clustering(G, 0)) 1.0 >>> print(nx.clustering(G)) {0: 1.0, 1: 1.0, 2: 1.0, 3: 1.0, 4: 1.0}