• 大小: 3KB
    文件类型: .py
    金币: 2
    下载: 1 次
    发布日期: 2021-06-18
  • 语言: Python
  • 标签: python  

资源简介

对于幂法的实现对于幂法的实现

资源截图

代码片段和文件信息

# -*- 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

评论

共有 条评论