16
我正在玩networkx(python中的圖庫),我發現文檔說PageRank算法在計分時需要考慮邊權重,但是我想知道更大的邊權重是更好還是更低?加權邊緣如何影響networkx中的PageRank?
我正在玩networkx(python中的圖庫),我發現文檔說PageRank算法在計分時需要考慮邊權重,但是我想知道更大的邊權重是更好還是更低?加權邊緣如何影響networkx中的PageRank?
不久之後,大權重對於傳入節點來說更好。
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得到更高的分數隨着流入邊的權重。
真棒謝謝你,馬克斯! – Lostsoul 2012-02-05 00:08:17
我不確定「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
你爲什麼要分配一個鏈接更多的重量?是否需要執行才能確定某些鏈接的價值更高? (就像身體中的鏈接與評論中的鏈接一樣?) – Xeoncross 2016-10-24 17:13:35