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]] Final: [[0.375] [0.231] [0.393]] sum 0.9999999999999951