El algoritmo PageRank en Python

PageRank es un algoritmo utilizado por la Búsqueda de Google para clasificar los sitios web en los resultados de su motor de búsqueda. PageRank es una forma de medir la importancia de las páginas del sitio web.

Este no es el único algoritmo utilizado por Google para ordenar los resultados del motor de búsqueda, pero es el primer algoritmo utilizado por la empresa que es más conocido.

El PageRank de una página se calcula a partir de la suma de la PageRank de páginas con un enlace que entra en la página calculada que se divide por el número de páginas salientes de la página, se aplica un factor de mitigación para simbolizar la probabilidad de que El usuario navega por otra página.

Instalo networkx, es un paquete Python para la creación, manipulación y estudio de estructura, dinámica y funciones de red complejas.

Networkx proporciona estructuras de datos y métodos para almacenar gráficos que utilizo para el algoritmo de pagerank.

importar networkx como nx
importación numpy como np

graphe-nx. Digraph()

TablePages - ra["A","B","C"]ngo de página #Exemple con 3 páginas
graph.add_nodes_from (tablePages) #Ajout parte superior del gráfico

#on añade arcos, tenemos:
#la la página A tiene un enlace a B 
#la página B tiene un enlace a C
#la la página C tiene un enlace a B
#la página C tiene un enlace a A
La página B tiene 2 enlaces entrantes
La página C tiene un enlace entrante 2 enlaces hacia fuera
La página A tiene un enlace que introduce un enlace saliente
graph.add_edges_from([('A','B'), ('C','A'),('B','C'), ('C','B')])
("Cumbres gráficas:")
impresión (graphe.nodes))
imprimir ("Detener el gráfico:")
impresión (graph.edges)
#Si se considera un factor de atenuación de 0,85 'd'
La fórmula de clasificación de página es:
#PR (1-d)/n - Suma de todas las páginas (PR(i) de enlaces entrantes a p/número de enlace que sale de la página que hace referencia p)
PR(A) - (1-0.85)/3 - 0.85 - (PR(C)/2)
PR(B) - (1-0.85)/3 - 0.85 - (PR(A)/1 - PR(C)/2)
PR(C) - (1-0.85)/3 - 0.85 - (PR(B)/1)

pagerank - nx.pagerank
imprimir (pagerank)