数据挖掘十大算法(九):PageRank算法原理与实现

PageRank是Google创始人拉里·佩奇提出的一种衡量网页重要性的技术。该算法通过网页间的超链接关系进行计算。在示例中,介绍了带有阻尼系数的PageRank计算过程,以及如何在Python中实现这一算法。经过多次迭代,确定网页的PageRank值,直到达到预设的误差阈值或达到最大循环次数。
摘要由CSDN通过智能技术生成

一、简介

PageRank,又称网页排名、谷歌左侧排名,是一种由搜索引擎根据网页之间相互的超链接计算的技术,而作为网页排名的要素之一,以Google公司创办人拉里·佩奇(Larry Page)之姓来命名。Google用它来体现网页的相关性和重要性,在搜索引擎优化操作中是经常被用来评估网页优化的成效因素之一。

假设一个由4个网页组成的群体:A,B,C和D。如果所有页面都只链接至A,那么A的PR(PageRank)值将是B,C及D的Pagerank总和。
在这里插入图片描述
重新假设B链接到A和C,C只链接到A,并且D链接到全部其他的3个页面。一个页面总共只有一票。所以B给A和C每个页面半票。以同样的逻辑,D投出的票只有三分之一算到了A的PageRank上。

在这里插入图片描述
在这里插入图片描述
阻尼系数是根据上网者使用浏览器书签的平均频率估算而得,通常d=0.85。

二、计算实例

在这里插入图片描述
为了便于计算,我们假设每个页面的PR初始值为1,d为0.5。
在这里插入图片描述
下面是迭代计算12轮之后,各个页面的PR值:
在这里插入图片描述
那么什么时候,迭代结束哪?
比如上次迭代结果与本次迭代结果小于某个误差,我们结束程序运行;
比如还可以设置最大循环次数。

三、Python实现

'''
读取数据:
A B
A C
B C
C A

注意:在code中我们是每一次epoch更新一轮,
与前面的手动计算不同。
'''


import numpy as np

if __name__ == '__main__':

    # 读入有向图,存储边
    file = open(
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值