5

我正在尝试使用 Mapreduce 查找 Wikipedia 的内部页面排名。我在一小部分维基页面上实现了我的 Pagerank 算法。共有6349页。我使用这个公式来计算 pagerank (d = 0.85)。

在此处输入图像描述

我想验证所有 pagerank 的总和是否等于总页数(6349)。

到目前为止我发现了什么:

1.所有6349个页面的总页面排名为1001.26044

2.根据维基百科,如果我使用上面的公式,那么each PageRank is multiplied by N and the sum becomes N。我将每个页面排名乘以 N (6349) 并计算总和,我得到6356789.5

页面排名之和不等于总页数是否有原因?我应该使用第二个公式来验证吗?

在此处输入图像描述

注意:我运行我的 mapreduce 代码 10 次迭代以获得良好的近似值。

4

2 回答 2

6

我想,你的迭代太少了。为什么是10?为什么是100?还是100000?你应该数一数,最后两个变化的中位数或最大值是多少。从而评估可能的错误。

PR是一个概率。它们的总和应该是1!“所有pagerank之和等于总页数”这句话是错误的。

至于另一个公式,它属于另一个模型和另一个 PR。当然,您也可以使用它。或两者。但是你不能检查使用它。

于 2012-11-27T09:40:51.357 回答
-1

这取决于您选择的基数(默认值为 1)。每次迭代后,您必须计算

delta = (base - sum_of_ranks) / N

然后按增量减少每个等级。只有这样,您才能使您的排名保持活力,直到最后一次迭代结束。

于 2015-01-27T22:01:38.413 回答