English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
L'algoritmo PageRank è adatto ai siti web. I siti web sono grafici diretti, sappiamo che le due componenti di un grafico direzionato sono i nodi e i collegamenti. La pagina è un nodo, l'hyperlink è un collegamento, ossia la connessione tra due nodi.
Possiamo trovare l'importanza di ogni pagina tramite PageRank, ed è accurato. Il valore di PageRank è una probabilità tra 0 e 1.
Il valore di PageRank di un singolo nodo nell'immagine dipende dai valori di PageRank di tutti i nodi connessi, e questi nodi si connettono periodicamente ai nodi ai quali vogliamo assegnare un ranking, utilizziamo il metodo di iterazione di convergenza per assegnare i valori a 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))
Risultato di output
[[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] Final: [[0.375] [0.231] [0.393] sum 0.9999999999999951