Python 为什么Networkx的中间性中心输出是错误的?
我想计算一个具有6个节点的简单图的介数:Python 为什么Networkx的中间性中心输出是错误的?,python,networkx,Python,Networkx,我想计算一个具有6个节点的简单图的介数: G=nx.Graph() e=[(1,2),(1,5),(2,3),(3,6),(5,6),(4,2),(4,3)] G.add_edges_from(e) btw=nx.betweenness_centrality(G) 根据我对每个节点的计算,输出应为: {1: 1.5, 2: 2.5, 5: 1, 3: 2.5, 6: 1.5, 4: 0} 但结果是: {1: 0.15000000000000002, 2: 0.25, 5: 0.1, 3
G=nx.Graph()
e=[(1,2),(1,5),(2,3),(3,6),(5,6),(4,2),(4,3)]
G.add_edges_from(e)
btw=nx.betweenness_centrality(G)
根据我对每个节点的计算,输出应为:
{1: 1.5, 2: 2.5, 5: 1, 3: 2.5, 6: 1.5, 4: 0}
但结果是:
{1: 0.15000000000000002,
2: 0.25,
5: 0.1,
3: 0.25,
6: 0.15000000000000002,
4: 0.0}
原因是什么?您似乎在计算非标准化中心度,而默认情况下,
标准化
设置为真
而是将其设置为False
:
G=nx.Graph()
e=[(1,2),(1,5),(2,3),(3,6),(5,6),(4,2),(4,3)]
G.add_edges_from(e)
btw=nx.betweenness_centrality(G, normalized=False)
# {1: 1.5, 2: 2.5, 5: 1.0, 3: 2.5, 6: 1.5, 4: 0.0}