J'essaie de comprendre les concepts derrière Google PageRank, et j'essaie d'implémenter une version similaire (quoique rudimentaire) en Python. J'ai passé les dernières heures à me familiariser avec l'algorithme, mais ce n'est pas encore très clair.Python Implémentation de PageRank
J'ai localisé un interesting website qui décrit l'implémentation de PageRank en Python. Cependant, je ne peux pas vraiment comprendre le but de toutes les fonctions montrées sur cette page. Quelqu'un pourrait-il clarifier ce que font exactement les fonctions, en particulier pageRankeGenerator?
D'accord, cela a plus de sens. Je suppose que les "Rounds" sont la même chose que les étapes de convergence? (c'est-à-dire, limiter le nombre de tours). En outre, de nombreux articles que j'ai lus utilisent des valeurs propres, une matrice de liens sortants (A) et une matrice de liens entrants (A^T). Où sont-ils situés ci-dessus, et sont-ils même nécessaires? – Julio
@Louis, oui "rounds" sont les étapes de convergence. Mon algèbre linéaire est un peu rouillée, mais je pense que les valeurs propres sont juste les rangs de page calculés.Dans mon exemple, j'ai utilisé une formule pour une page. Si nous le réécrivons en tant que formule pour n pages, nous obtenons une représentation n-dimensionnelle (ou matricielle). La représentation matricielle IMO est un peu plus difficile à saisir la première fois. –
Encore une question: Pourquoi ne propagez-vous pas les valeurs mises à jour au tour 2? Par exemple, dans Round 1, vous avez trouvé B = 1, C = 0.575. Cependant, au tour 2, vous avez A = 0,15 + 0,85 (1/2 + 0,575). Pourquoi avez-vous encore utilisé 1/2 au lieu de 1, comme cela a été trouvé dans le premier tour? Je travaille sur une classe, et la ronde 1 est correcte, mais les tours suivants ne correspondent pas à ce que vous avez montré. http://pastebin.com/raw.php?i=mQXjXyRS – Julio