Page_Rank算法

在这里插入图片描述

python实现

# Page_Rank
import numpy as np

S_matrix = np.array([[0, 0, 0, 0, 0, 0],
                     [1 / 3, 0, 0, 0, 0, 1 / 2],
                     [1 / 3, 1 / 3, 0, 1 / 2, 0, 0],
                     [1 / 3, 1 / 3, 1, 0, 0, 1 / 2],
                     [0, 0, 0, 0, 0, 0],
                     [0, 1 / 3, 0, 1 / 2, 1, 0]])  # 随机矩阵
J_matrix = np.ones((6, 6))  # J矩阵,用于计算Google矩阵
I0 = np.array([[1], [0], [0], [0], [0], [0]])  # I, 用于计算得到平稳向量


def google_matrix(a, n, S, J):  # a:社交网络阻尼系;n:维数;S:随机矩阵;J:J_matrix
    return a * S + (1 - a) / n * J


def SV(G, ii):
    stationary_vector = []  # 平稳向量
    for i in range(1, 7):
        ii = G * ii
        stationary_vector.append(ii)
    return stationary_vector


google = google_matrix(0.85, 6, S_matrix, J_matrix)
print(google)
print(SV(google, I0))

运行结果
C:\ProgramData\Anaconda3\envs\AI_learning\python.exe D:/杂文/桌面/人工智能/AI_learning/train/test.py
[[0.025 0.025 0.025 0.025 0.025 0.025 ]
[0.30833333 0.025 0.025 0.025 0.025 0.45 ]
[0.30833333 0.30833333 0.025 0.45 0.025 0.025 ]
[0.30833333 0.30833333 0.875 0.025 0.025 0.45 ]
[0.025 0.025 0.025 0.025 0.025 0.025 ]
[0.025 0.30833333 0.025 0.45 0.875 0.025 ]]
[array([[0.025, 0.025, 0.025, 0.025, 0.025, 0.025],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ]]), array([[0.000625, 0.000625, 0.000625, 0.000625, 0.000625, 0.000625],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ],
[0. , 0. , 0. , 0. , 0. , 0. ]]), array([[1.5625e-05, 1.5625e-05, 1.5625e-05, 1.5625e-05, 1.5625e-05,
1.5625e-05],
[0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00],
[0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00],
[0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00],
[0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00],
[0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00, 0.0000e+00,
0.0000e+00]]), array([[3.90625e-07, 3.90625e-07, 3.90625e-07, 3.90625e-07, 3.90625e-07,
3.90625e-07],
[0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00,
0.00000e+00],
[0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00,
0.00000e+00],
[0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00,
0.00000e+00],
[0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00,
0.00000e+00],
[0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00, 0.00000e+00,
0.00000e+00]]), array([[9.765625e-09, 9.765625e-09, 9.765625e-09, 9.765625e-09,
9.765625e-09, 9.765625e-09],
[0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
0.000000e+00, 0.000000e+00],
[0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
0.000000e+00, 0.000000e+00],
[0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
0.000000e+00, 0.000000e+00],
[0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
0.000000e+00, 0.000000e+00],
[0.000000e+00, 0.000000e+00, 0.000000e+00, 0.000000e+00,
0.000000e+00, 0.000000e+00]]), array([[2.44140625e-10, 2.44140625e-10, 2.44140625e-10, 2.44140625e-10,
2.44140625e-10, 2.44140625e-10],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00],
[0.00000000e+00, 0.00000000e+00, 0.00000000e+00, 0.00000000e+00,
0.00000000e+00, 0.00000000e+00]])]

Process finished with exit code 0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值