algorithm - Dudas sobre el rango de la página
hadoop mapreduce (2)
depende de qué base elijas (el valor predeterminado es 1). Después de cada iteración tienes que calcular
delta = (base - sum_of_ranks) / N
Y luego disminuya cada rango por delta. Solo de esta manera mantendrás tus filas con vida hasta la última iteración.
Estoy tratando de encontrar el rango de la página interna de Wikipedia usando Mapreduce. Implementé mi algoritmo Pagerank en un pequeño subconjunto de wikipages. Hay 6349 páginas. Usé esta fórmula para calcular el pagerank (d = 0,85).
Quería verificar si la suma de todo el pagerank es igual al número total de páginas (6349).
Lo que encontré hasta ahora:
1. El rango total de páginas de todas las 6349 páginas es 1001.26044
2. De acuerdo con WikiPedia si uso la fórmula anterior, entonces each PageRank is multiplied by N and the sum becomes N
Multipliqué cada rango de página por N (6349) y calculé la suma, obtuve 6356789.5 .
¿Hay alguna razón por la cual la suma de los rangos de página no sea igual al número total de páginas? ¿Debo usar la segunda fórmula para verificar?
Nota: ejecuté mi código mapreduce para 10 iteraciones para obtener una buena aproximación.
Como supongo, tienes muy pocas iteraciones. ¿Por qué 10? ¿Por qué 100? O 100000? Debe contar, ¿cuáles son los medios o máximos de los dos últimos cambios? Y así evaluar el posible error.
Y el PR es una probabilidad. ¡La suma de todos ellos debe ser 1! La oración "suma de todos los pagerank es igual al número total de páginas" es incorrecta.
En cuanto a otra fórmula, pertenece a otro modelo y a otro PR. Por supuesto, puedes usarlo también. O ambos. Pero no puedes verificar usarlo.