Evaluating A Real-Life Recommender System, Error-Based and Ranking-Based

0

Un sistema de recomendación tiene como objetivo encontrar y sugerir elementos de probable interés según las preferencias de los usuarios

. El sistema de recomendación es una de las aplicaciones más valiosas en el aprendizaje de máquinas en la actualidad. Amazon atribuye el 35% de sus ingresos a su sistema de recomendación .

La evaluación es una parte integral de la investigación y el desarrollo de cualquier sistema de recomendación. Depende de su negocio y de los datos disponibles, hay muchas maneras de evaluar un sistema de recomendación. Trataremos algunos hoy.

Predicción de calificación

En mi último post re: Construyendo y probando sistemas de recomendación con Surprise Surprise se centró en varios algoritmos de Machine Learning para predecir las calificaciones de los usuarios de los elementos ( es decir, predicción de calificaciones). Requiere que los usuarios den comentarios explícitos como pedirles a los usuarios que califiquen un libro en una escala de 0 a 10 estrellas después de que hayan comprado. Y luego usamos estos datos para construir el perfil de los intereses de los usuarios. El problema con esto es que no todos están dispuestos a dejar una calificación, por lo que los datos tienden a ser escasos, como este conjunto de datos de Book Crossing que hemos visto antes:

Figura 1

Lo más recomendado los sistemas intentan predecir lo que el usuario pondría en ellos si calificasen los libros correspondientes. Con demasiados “NaN”, el recomendador no tendrá datos suficientes para comprender qué le gusta al usuario.

Sin embargo, la calificación explícita es excelente si puede convencer a sus usuarios para que le den calificaciones. Por lo tanto, si tiene el lujo de contar con datos y calificaciones de usuarios, entonces las métricas de evaluación deben ser RMSE o MAE . Mostremos un ejemplo del conjunto de datos Movielens con la biblioteca Surprise.

https://medium.com/media/2cd0689ff69c87902389b7369cc93436/href

Top-N

Top-N sistema de recomendación Sitios web de compras en línea a portales de video. Proporcionan a los usuarios una lista ordenada de N artículos en los que probablemente estarán interesados, con el fin de fomentar las vistas y las compras.

Uno de los sistemas de recomendación de Amazon es el sistema “Top-N” que produce una lista de los mejores resultados para individuos como así:

La Figura 2

Las recomendaciones de “Top-N” de Amazon para mí incluyen 9 páginas y hay 6 elementos en la primera página. Un buen sistema de recomendación debería poder identificar un conjunto de N elementos que serán de interés para un determinado usuario. Como rara vez compro libros en Amazon, mi “Top-N” está muy lejos. En otra palabra, probablemente solo haga clic o lea uno de estos libros en mi lista de “Top-N”.

Las siguientes secuencias de comandos generaron las 10 mejores recomendaciones para cada usuario en el conjunto de pruebas.

https: / /medium.com/media/872e93b2459a1c530b9fce6947a2c16b/href[19659026◆Aquíestáeltop10quepronosticamosparauserId2yuserId3

Figura 3

Tasa de hits

Veamos qué tan buenas son nuestras 10 mejores recomendaciones son. Para evaluar los 10 principales, utilizamos la tasa de aciertos, es decir, si un usuario calificó uno de los 10 primeros que recomendamos, consideramos que es un “acierto”.

El proceso de calcular la tasa de aciertos para un solo usuario:

  • Encuentra todos los elementos en el historial de este usuario en los datos de entrenamiento.
  • Quita intencionalmente uno de estos elementos (validación cruzada de Leave-One-Out).
  • Usa todos los demás elementos para alimentar al recomendador y pedir más 10 recomendaciones.
  • Si el elemento eliminado aparece en las 10 mejores recomendaciones, es un éxito. De lo contrario, no es un acierto.

https://medium.com/media/5cca788d516766c45956fd7cc64ef4f4/href

La tasa de aciertos completa del sistema es el recuento de aciertos, dividido por el número de usuarios de prueba. Mide con qué frecuencia podemos recomendar una calificación eliminada; cuanto más alto, mejor.

Una tasa de aciertos muy baja simplemente significa que no tenemos suficientes datos para trabajar. Al igual que la tasa de aciertos de Amazon para mí, sería terriblemente baja porque no tiene suficiente de mis datos de compra de libros.

Tasa de aciertos por valor de clasificación

También podemos desglosar la tasa de aciertos según los valores de calificación predichos. Idealmente, queremos predecir las películas de usuarios, por lo que nos preocupamos por valores de calificación altos y no bajos.

https://medium.com/media/b477a2bdcc3ea15bb4bf1e4692225dc9/href

Nuestro desglose de la tasa de éxitos es exactamente lo que esperaba. , la tasa de aciertos para el puntaje de calificación 5 es mucho más alta que 4 o 3. Más alta es mejor.

Tasa de aciertos acumulada

Debido a que nos preocupan las calificaciones más altas, podemos ignorar las calificaciones pronosticadas inferiores a 4, para calcular la tasa de aciertos para las clasificaciones> = 4.

https://medium.com/media/7628373cf2c61af63536eeed73aca85d/href

Superior es mejor.

Promedio de golpes recíprocos (ARHR)

Métrica de uso común para la evaluación de clasificación de Sistemas de recomendación Top-N, que solo tienen en cuenta dónde se produce el primer resultado relevante. Recibimos más crédito por recomendar un artículo en el cual el usuario calificó en la parte superior de la clasificación que en la parte inferior de la clasificación. Más alto es mejor.

https://medium.com/media/f968b3defdae67645fb62cc0364bc8dc/href

Es probable que su primer sistema de recomendación de la vida real sea de baja calidad, así como su sistema de recomendación para nuevos usuarios. pero aún así, es mucho mejor que ningún sistema de recomendación en absoluto. Uno de los objetivos de un sistema de recomendación es que aprendemos las preferencias de los usuarios / usuarios nuevos en los sistemas de recomendación para que puedan comenzar a recibir recomendaciones personalizadas y precisas del sistema.

Sin embargo, si acaba de comenzar, su sitio web es completamente nuevo. , los sistemas de recomendación no pueden servir a nadie con recomendaciones personalizadas, sin ninguna evaluación de nadie. Entonces, esto se convierte en un problema de arranque sistémico .

El cuaderno Jupyter se puede encontrar en Github . Disfrute el resto de la semana.

Referencia: Creación de sistemas de recomendación con aprendizaje automático e inteligencia artificial


Evaluación de un sistema de recomendación de la vida real, basado en errores y basado en clasificación se publicó originalmente en Hacia la ciencia de datos en Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *