Tengo un montón de usuarios. Cada usuario tiene una serie de atributos de personalidad, como el "nivel de fitness" o la "conciencia ecológica", valorados en una escala de 1 a 5. Quiero calcular lo similares que son dos usuarios, para poder mostrar a cada uno una lista ordenada de "usuarios más similares".
Este parece ser un problema clásico de IR, y he visto que se utilizan tres métricas diferentes, pero no se discute por qué elegir una en lugar de otra:
-
Aritmética simple. Las puntuaciones ya están normalizadas en la misma escala, así que puedo sumar las puntuaciones de cada usuario y comparar las sumas para ver quién es más parecido.
-
Similitud del coseno. Tratar cada usuario como un vector de n dimensiones, donde cada escala es una dimensión. Calcula el coseno del ángulo entre los vectores de dos usuarios; los cosenos más cercanos a 1 (ángulos más pequeños) son más similares.
-
Distancia euclidiana. Cada usuario es un vector n-dimensional de nuevo, pero esta vez, calcula la distancia entre los puntos finales. Los usuarios que están cerca son similares.
¿Cuáles son las ventajas y desventajas de cada método? ¿Cómo cambia esto si las puntuaciones no están normalizadas a la misma escala (es decir, si añado un atributo de "edad")?