中间性中心性的定义并不意味着它的值小于1。分数之和不必小于1。在
考虑以下示例:
![]()
最短路径及其经过的节点是:A -> B: None
A -> C: B
A -> D: B, C
A -> E: B, C, D
B -> C: None
B -> D: C
B -> E: C, D
C -> D: None
C -> E: D
D -> E: None
所以从formula计算'B'的中间性中心度:
![]()
我们得到:
^{2}$
因此,所有节点之间的中心性:A: 0
B: 3
C: 4
D: 3
E: 0
用Python计算:import networkx as nx
# build up a graph
G = nx.Graph()
G.add_nodes_from(['A', 'B', 'C', 'D', 'E'])
G.add_edges_from([('A', 'B'), ('B','C'), ('C', 'D'), ('D', 'E')])
bw_centrality = nx.betweenness_centrality(G, normalized=False)
print bw_centrality
# returns {'A': 0.0, 'C': 4.0, 'B': 3.0, 'E': 0.0, 'D': 3.0}
所以,如果你想得到小于1的值,你必须使用normalized=True(wiki about normalization)。在
示例取自here。在
|