我正在玩networkx(python中的图形库),我发现文档说PageRank算法在评分时会考虑边缘权重,但我想知道更大的边缘权重更好还是更低的权重更好?
问问题
16470 次
1 回答
32
很快,大权重对传入节点更好。
PageRank 适用于有向加权图。如果页面A 有到页面B 的链接,那么B 的分数就会上升,即页面B(节点)的输入越多,它的分数就越高。
有关 PageRank 的 Wikipedia 文章以获取更多详细信息。
编辑:让我们做一个实验。创建一个有 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 获得了更高的分数。
于 2012-02-04T22:26:58.717 回答