資源簡介
對于冪法的實現對于冪法的實現
代碼片段和文件信息
#?-*-?coding:?utf-8?-*-
“““
Created?on?Thu?Nov?29?12:41:37?2018
@author:?Administrator
“““
“““
?
import?numpy?as?np
?
class?CPageRank(object):
????‘‘‘實現PageRank?Alogrithm
????‘‘‘
????def?__init__(self):
????????self.PR?=?[]?#PageRank值
?
????def?GetPR(self?IOS?alpha?max_itrs?min_delta):
????????‘‘‘冪迭代方法求PR值
????????:param?IOS???????表示網頁出鏈入鏈關系的矩陣是一個左出鏈矩陣
????????:param?alpha?????阻尼系數α,一般alpha取值0.85
????????:param?max_itrs??最大迭代次數
????????:param?min_delta?停止迭代的閾值
????????‘‘‘
????????#IOS左出鏈矩陣?a阻尼系數alpha?N網頁總數
????????N?=?np.shape(IOS)[0]
????????#所有分量都為1的列向量
????????e?=?np.ones(shape=(N?1))
????????#計算網頁出鏈個數統計
????????L?=?[np.count_nonzero(e)?for?e?in?IOS.T]
????????#計算網頁PR貢獻矩陣helpS,是一個左貢獻矩陣
????????helps_efunc?=?lambda?iosl:ios/l
????????helps_func??=?np.frompyfunc(helps_efunc?2?1)
????????helpS?=?helps_func(IOS?L)
????????#P[n+1]?=?AP[n]中的矩陣A
????????A?=?alpha*helpS?+?((1-alpha)/N)*np.dot(e?e.T)
????????print(‘左出鏈矩陣:\n‘?IOS)
????????print(‘左PR值貢獻概率矩陣:\n‘?helpS)
????????#冪迭代法求PR值
????????for?i?in?range(max_itrs
- 上一篇:LSTM預測股價代碼
- 下一篇:人工智能作業pacman吃豆人python源代碼
評論
共有 條評論