实现 networkx 中没有提供的 Weight Clustering 函数
NetworkX 功能补充
[TOC]
基于 NetworkX 的图结构和论文《The architecture of complex weighted networks》实现全局权重聚类系数的计算。
这个方法参考了 NetworkX 实现,比根据公式直接写快许多倍。
公式
NetworkX 中实现的全局权重聚类系数的是基于公式:
$$
\widetilde{C_i}=\frac{1}{k_i(k_i-1)}\sum_{j,k}(\hat{w_{ij}},\hat{w_{ij}},\hat{w_{ij}})^{1/3}a_{ij}a_{jk}a_{ik}
$$
而基于《The architecture of complex weighted networks》这篇论文中的公式:
$$
C_i^w=\frac{1}{s_i(k_i-1)}\sum_{j,h}\frac{w_{ij}+w_{ik}}{2}a_{ij}a_{jk}a_{ik}
$$
则没有被实现。因此我这里提供基于 NetworkX 的图结构的代码计算第二个公式:
代码
1 | class MapUtil: |
如何调用
例子1
1 | import networkx as nx |
输出:
{0: 1.0, 1: 1.0, 2: 1.0}
例子2
1 | import networkx as nx |
输出:
{0: 1.0, 1: 1.0, 2: 1.0, 4: 0.25, 3: 0}
本文作者 : Rothleer
原文链接 : https://rothleer.github.io/2020/09/01/%E5%AE%9E%E7%8E%B0%20networkx%20%E4%B8%AD%E6%B2%A1%E6%9C%89%E6%8F%90%E4%BE%9B%E7%9A%84%20Weight%20Clustering%20%E5%87%BD%E6%95%B0/
版权声明 : 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!