closeness_centrality#
- closeness_centrality(G, u=None, distance=None, wf_improved=True)[source]#
计算节点的接近中心性。
节点
u
的接近中心性 [1] 是所有n-1
个可达节点到u
的平均最短路径距离的倒数。其中
d(v, u)
是v
和u
之间的最短路径距离,n-1
是从u
可达的节点数。注意,接近距离函数计算有向图中到u
的入向距离。要使用出向距离,请对G.reverse()
进行操作。注意,接近中心性的值越高表示中心性越高。
Wasserman 和 Faust 提出了一种针对多连通分量图的改进公式。结果是“可达参与者比例与可达参与者平均距离的比率” [2]。您可能会认为这个比例因子是颠倒的,但实际上不是。这样,来自小分量的节点会得到较小的接近中心性值。设
N
表示图中的节点数,- Parameters:
- G图
一个 NetworkX 图
- u节点, 可选
仅返回节点 u 的值
- distance边属性键, 可选 (默认=None)
使用指定的边属性作为最短路径计算中的边距离。如果为
None
(默认),所有边的距离为 1。缺少边属性的边被赋予距离 1。注意,不会检查边是否具有提供的属性。- wf_improved布尔值, 可选 (默认=True)
如果为 True,按可达节点比例进行缩放。这给出了 Wasserman 和 Faust 的改进公式。对于单分量图,它与原始公式相同。
- Returns:
- nodes字典
包含节点及其接近中心性值的字典。
See also
Notes
接近中心性被归一化为
(n-1)/(|G|-1)
,其中n
是包含节点的图的连通部分的节点数。如果图不是完全连通的,此算法分别计算每个连通部分的接近中心性,并按该部分的大小进行缩放。如果设置了 ‘distance’ 关键字为边属性键,则最短路径长度将使用 Dijkstra 算法计算,该边属性作为边权重。
接近中心性使用节点的 入向 距离,而不是出向距离。如果需要使用出向距离,请对
G.reverse()
应用该函数。在 NetworkX 2.2 及更早版本中,一个错误导致 Dijkstra 算法使用出向距离而不是入向距离。如果您使用 ‘distance’ 关键字和 DiGraph,您的结果将在 v2.2 和 v2.3 之间发生变化。
References
[1]Linton C. Freeman: Centrality in networks: I. Conceptual clarification. Social Networks 1:215-239, 1979. https://doi.org/10.1016/0378-8733(78)90021-7
[2]pg. 201 of Wasserman, S. and Faust, K., Social Network Analysis: Methods and Applications, 1994, Cambridge University Press.
Examples
>>> G = nx.Graph([(0, 1), (0, 2), (0, 3), (1, 2), (1, 3)]) >>> nx.closeness_centrality(G) {0: 1.0, 1: 1.0, 2: 0.75, 3: 0.75}