English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PageRank 알고리즘은 웹 페이지에 적용됩니다. 웹 페이지는 방향 그래프이며, 방향 그래프의 두 구성 요소는 노드와 연결입니다. 페이지는 노드이고, 스크립트는 연결입니다. 즉, 두 노드 간의 연결입니다.
PageRank를 통해 각 페이지의 중요성을 찾아낼 수 있으며, 그 값은 정확합니다. PageRank의 값은 0에서1사이.
그래프의 단일 노드의 PageRank 값은 그와 연결된 모든 노드의 PageRank 값에 따라 결정되며, 이 노드는 정기적으로 우리가 평가하고 싶은 노드로 연결됩니다. PageRank 값을 할당하는 데는 수렴 반복 방법을 사용합니다.
import numpy as np import scipy as sc import pandas as pd from fractions import Fraction def display_format(my_vector, my_decimal): return np.round((my_vector).astype(np.float), decimals=my_decimal) my_dp = Fraction(1,3) Mat = np.matrix([[0,0,1], [Fraction(1,2),0,0], [Fraction(1,2),1,0]]) Ex = np.zeros((3,3)) Ex[:] = my_dp beta = 0.7 Al = beta * Mat + ((1-beta) * Ex) r = np.matrix([my_dp, my_dp, my_dp]) r = np.transpose(r) previous_r = r for i in range(1,100): r = Al * r print (display_format(r,3)) if (previous_r == r).all(): break previous_r = r print ("Final:\n", display_format(r,3)) print ("sum", np.sum(r))
출력 결과
[[0.333] [0.217] [0.45 ]] [[0.415] [0.217] [0.368]] [[0.358] [0.245] [0.397]] [[0.378] [0.225] [0.397]] [[0.378] [0.232] [0.39 ]] [[0.373] [0.232] [0.395]] [[0.376] [0.231] [0.393]] [[0.375] [0.232] [0.393]] [[0.375] [0.231] [0.394]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] [[0.375] [0.231] [0.393]] 최종: [[0.375] [0.231] [0.393]] sum 0.9999999999999951