Я пытаюсь написать эту matlab implementation в Python, но я не понимаю, несколько моментов:PageRank реализация питон, алгоритм
last_v = те (N, 1) * инф;
Получаем ли мы здесь вектор, содержащий все бесконечности? В этом случае условие в то время как мгновенно ложь, и мы не получаем никаких итераций:
While (норма (v - last_v, 2)> v_quadratic_error)
Что я понимаю ложь ?
Это путь, я пытался это сделать:
from numpy import *
def pagerank(M,d,v_quadratic_error):
count = 0
N=M.shape[1]
v=random.rand(N,1)
v=v/linalg.norm(v)
ainf=array([[inf]])
last_v = dot(ones((N,1)),ainf)
R = d*M + ((1-d)/N * ones((N,N)))
while linalg.norm(v-last_v,2) > v_quadratic_error:
last_v = v
v = dot(R,v)
count+=1
print 'iteration #', count
return v
Великий, спасибо. – Jotwege