当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX katz_centrality_numpy用法及代码示例


本文简要介绍 networkx.algorithms.centrality.katz_centrality_numpy 的用法。

用法:

katz_centrality_numpy(G, alpha=0.1, beta=1.0, normalized=True, weight=None)

计算图 G 的 Katz 中心性。

Katz 中心性根据其邻居的中心性计算节点的中心性。它是特征向量中心性的推广。节点 的 Katz 中心性为

其中 是图 G 的邻接矩阵,其特征值为

参数 控制初始中心性和

Katz 中心性通过测量直接邻居(一级节点)以及网络中通过这些直接邻居连接到所考虑节点的所有其他节点的数量来计算网络中节点的相对影响。

可以通过参数 向直接邻居提供额外的权重。然而,与远方邻居建立的连接会受到衰减因子 的惩罚,该衰减因子应严格小于邻接矩阵的逆最大特征值,以便正确计算 Katz 中心性。 [1] 中提供了更多信息。

参数

G图形

NetworkX 图

alpha浮点数

衰减因子

beta标量或字典,可选(默认=1.0)

重量归因于附近。如果不是标量,则字典必须为每个节点都有一个值。

normalizedbool

如果 True 标准化结果值。

weight无或字符串,可选

如果没有,所有的边权重都被认为是相等的。否则保存用作权重的边属性的名称。在这个度量中,权重被解释为连接强度。

返回

nodes字典

以 Katz 中心性为值的节点字典。

抛出

NetworkXError

如果参数 beta 不是标量但缺少至少一个节点的值

注意

Katz 中心性由 [2] 引入。

该算法使用直接线性求解器来求解上述方程。参数alpha 应严格小于邻接矩阵的最大特征值的倒数,以获得解。您可以使用max(nx.adjacency_spectrum(G)) 得到邻接矩阵的最大特征值

时,Katz 中心性与特征向量中心性相同。

对于有向图,这会找到与图中的 in-edges 对应的 “left” 特征向量。对于 out-edges Katz 中心性,首先使用 G.reverse() 反转图形。

参考

1

Mark E. J. Newman: Networks: An Introduction. Oxford University Press, USA, 2010, p. 173.

2

Leo Katz: A New Status Index Derived from Sociometric Index. Psychometrika 18(1):39-43, 1953 https://link.springer.com/content/pdf/10.1007/BF02289026.pdf

例子

>>> import math
>>> G = nx.path_graph(4)
>>> phi = (1 + math.sqrt(5)) / 2.0  # largest eigenvalue of adj matrix
>>> centrality = nx.katz_centrality_numpy(G, 1 / phi)
>>> for n, c in sorted(centrality.items()):
...     print(f"{n} {c:.2f}")
0 0.37
1 0.60
2 0.60
3 0.37

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.algorithms.centrality.katz_centrality_numpy。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。