2012-02-03 188 views

回答

23

不久之后,大权重对于传入节点来说更好。

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得到更高的分数随着流入边的权重。

+0

真棒谢谢你,马克斯! – Lostsoul 2012-02-05 00:08:17

+1

我不确定“PageRank在有向加权图上工作”是否正确。我的理解是,通常PageRank中使用的边不是加权的,节点之间或者没有边。这是有道理的,因为你不能在两页之间有一半的链接。虽然看起来networkx中的pagerank方法确实允许对边进行加权,就像他们可以使用[TextRank]一样(http://digital.library.unt.edu/ark:/67531/metadc30962/m2/1/high_res_d /Mihalcea-2004-TextRank-Bringing_Order_into_Texts.pdf)(第2.2节),它基于PageRank。 – jksnw 2015-03-28 17:54:47

+0

你为什么要分配一个链接更多的重量?是否需要执行才能确定某些链接的价值更高? (就像身体中的链接与评论中的链接一样?) – Xeoncross 2016-10-24 17:13:35