Creo que a mucha gente aquí le falta la simplicidad de la pregunta. Él no dijo nada sobre la creación de un sistema de predicción de clasificación. Solo quiere calcular la similitud entre el comportamiento de calificación de cada usuario y el comportamiento de calificación de cada uno de los otros usuarios. El coeficiente de correlación de Pearson da exactamente eso. Sí, debe iterar sobre cada par de usuario/usuario.
EDIT:
Después de pensar en esto un poco más:
Pearson es grande si desea que la similitud entre los gustos de dos usuarios, pero no su nivel de 'opinionatedness' ... un usuario que califica una serie de canciones 4, 5 y 6 que se correlacionan perfectamente con otro usuario que califica las mismas canciones 3, 6 y 9. En otras palabras, tienen el mismo "sabor" (clasificarían las canciones en el mismo orden)), pero el segundo usuario es mucho más obstinado. En otras palabras, el coeficiente de correlación trata cualquier dos vectores de calificación con una relación lineal como igual.
Sin embargo, si desea la similitud entre las calificaciones reales que los usuarios dieron a cada canción, debe usar el error cuadrático medio entre los dos vectores de calificación. Esta es una métrica puramente basada en la distancia (las relaciones lineales no juegan en la puntuación de similitud), por lo que los usuarios de 4,5,6 y 3,6,9 no tendrían una puntuación de similitud perfecta.
La decisión se reduce a lo que entendemos por "similar" ...
Eso es todo.
Echa un vistazo a los algoritmos que se utilizaron en las entradas para el Premio Netflix http://www.netflixprize.com/ – jfs