|
PageRank根据网站的外部链接和内部链接的数量和质量,衡量网站的价值。PageRank隐含的思想就是:每个到页面的链接都是对该页面的一次投票, 被链接的越多,就意味着被其他网站投票越多。一个网页所获得“投票”越多,说明这个网页越重要,它的被访问的概率越大,自然分级排名就越高,那么搜索结果它就越靠前。这就好比是一篇学术论文,论文被引用的次数越多,论文的影响因子越高,自然论文就越权威!
python代码的实现例子(转自知乎:机器学习(二):PageRank算法+Python实现)
- import numpy as np
- #获取一个关系矩阵,这里测试来用,直接赋值返回
- def init_realtion_array():
- a = np.array([[0,0.5,1,0],
- [0.33333333,0,0,0.5],
- [0.33333333,0,0,0.5],
- [0.33333333,0.5,0,0]],
- dtype=float)
- return a
- #初始化最初的pr值
- def init_first_pr(length):
- pr = np.zeros((length,1),dtype=float)#构造一个存放pr值的矩阵
- for i in range(length):
- pr[i] = float(1) / length
- return pr
- #计算PageRank值
- def compute_pagerankX(p,m,v):
- i = 1
- while(True):
- v = p * np.dot(m,v) + (1 - p) * v
- i = i + 1
- if i >= 10:
- break
- return v
- if __name__ == '__main__':
- relation_array = init_realtion_array()
- pr = init_first_pr(relation_array.shape[0])
- p = 0.8
- print(compute_pagerankX(p,relation_array,pr))
- print(p,relation_array,pr)
复制代码
|
|
共 2 个关于本帖的回复 最后回复于 2021-8-16 11:28