2012-02-03 187 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