【发布时间】:2012-02-26 12:52:37
【问题描述】:
我正在玩networkx(python中的图形库),我发现文档说PageRank算法在评分时会考虑边缘权重,但我想知道更大的边缘权重更好还是更低的权重更好?
【问题讨论】:
标签: python graph-theory pagerank networkx
我正在玩networkx(python中的图形库),我发现文档说PageRank算法在评分时会考虑边缘权重,但我想知道更大的边缘权重更好还是更低的权重更好?
【问题讨论】:
标签: python graph-theory pagerank networkx
简而言之,较大的权重对传入节点更好。
PageRank 适用于有向加权图。如果页面 A 有到页面 B 的链接,那么 B 的分数就会上升,即页面 B(节点)的输入越多,它的分数就越高。
Wikipedia article on PageRank 了解更多详情。
编辑:让我们做一个实验。创建一个有 3 个节点和两条权重相等的有向边的有向图。
import networkx as nx
D=nx.DiGraph()
D.add_weighted_edges_from([('A','B',0.5),('A','C',0.5)])
print nx.pagerank(D)
>> {'A': 0.259740259292235, 'C': 0.3701298703538825, 'B': 0.3701298703538825}
现在,增加 (A,C) 边的权重:
D['A']['C']['weight']=1
print nx.pagerank(D)
>> {'A': 0.259740259292235, 'C': 0.40692640737443164, 'B': 0.3333333333333333}
如您所见,节点 C 随着传入边权重的增加得分更高。
【讨论】: