2012-02-03 2 views
16

Я играю с networkx (графическая библиотека на python), и я нашел документацию, говорящую, что алгоритм PageRank берет на себя внимание при подсчете очков, но мне было интересно, лучше ли более крупные или более низкие веса лучше?Как взвешенные края влияют на PageRank в networkx?

ответ

23

Вскоре большие входящие грузы лучше подходят для входящих узлов.

PageRank работает с ориентированным взвешенным графиком. Если на странице A есть ссылка на страницу B, то оценка для B увеличивается, то есть чем больше входных данных на странице B (узел), тем выше ее оценка.

Wikipedia article on PageRank для получения более подробной информации.

Редактировать: давайте сделаем эксперимент. Создайте ориентированный граф с тремя узлами и двумя направленными ребрами с равными весами.

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} 

Теперь, увеличить вес ребра (А, С):

D['A']['C']['weight']=1 
print nx.pagerank(D)  

>> {'A': 0.259740259292235, 'C': 0.40692640737443164, 'B': 0.3333333333333333} 

Как видим, узел С получил более высокий балл с увеличением веса входящей кромки.

+0

Удивительное спасибо, Макс! – Lostsoul

+1

Я не уверен, что «PageRank работает над ориентированным взвешенным графиком». Я понимаю, что обычно края, используемые в PageRank, не взвешены, есть либо край между узлами, либо нет. Это имеет смысл, потому что у вас не может быть половины связи между двумя страницами. Хотя кажется, что метод pagerank в networkx позволяет взвешивать ребра, например, они могут использовать [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

+0

Зачем вам назначать ссылку больше веса? Остается ли до внедрения, чтобы выяснить, как определенные ссылки стоят больше? (Как ссылки в теле против ссылок в комментариях?) – Xeoncross