我试图了解Google PageRank背后的概念,并试图在Python中实现类似(尽管基本)的版本。我花了最后几个小时来熟悉算法,但是还不是很清楚。

我找到了一个特别的interesting website,概述了Python中PageRank的实现。但是,我似乎不太了解此页面上显示的所有功能的用途。谁能弄清楚函数到底在做什么,尤其是pageRankeGenerator?

最佳答案

我将尝试从我的个人笔记中对PageRank算法进行简单的解释(定义)。

假设页面T1,T2,... Tn指向页面A,然后

PR(A) = (1-d) + d * (PR(T1) / C(T1) + ... + PR(Tn) / C(Tn))


哪里


PR(Ti)是Ti的PageRank
C(Ti)是页面Ti中传出链接的数量
d是倾销系数,范围为0

每个PR(x)的起始值均为1,我们通过对每页重复10-20次算法来调整页面排名。

A,B,C页的示例:

   A <--> B
   ^     /
    \   v
      C


第1轮
A = 0.15 + 0.85(1/2 + 1/1)= 1.425
B = 0.15 + 0.85(1/1)= 1
C = 0.15 + 0.85(1/2)= 0.575

回合的总和= 3

第二回合
A = 0.15 + 0.85(1/2 + 0.575)= 1.06375
B = 0.15 + 0.85(1.425)= 1.36125
C = 0.15 + 0.85(1/2)= 0.575

回合的总和= 3

第三回合
A = 0.15 + 0.85(1.36125 / 2 + 0.575)= 1.217
B = 0.15 + 0.85(1.06375)= 1.054
C = 0.728

回合的总和= 3

...

关于python - PageRank的Python实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3950627/

10-12 21:51