¿Tienen sentido las recomendaciones?
Ahora que entendemos qué tan bien ha funcionado nuestro modelo y tenemos cierta confianza en que ofrecerá recomendaciones relevantes para los usuarios, vamos a ver de verdad las recomendaciones para un usuario y comprobar si tienen sentido.
Los datos originales de valoraciones se proporcionan aquí como original_ratings. Echa un vistazo a las valoraciones originales de los usuarios 60 y 63, y compáralas con lo que ALS les recomendó. En tu opinión, ¿son coherentes las recomendaciones con sus preferencias originales?
Este ejercicio forma parte del curso
Creación de motores de recomendación con PySpark
Instrucciones del ejercicio
- Usa
.filter()sobre el dataframeoriginal_ratingspara asegurar quecol("userId")sea igual a60y así ver las valoraciones originales del usuario 60. Llama al método.sort()para ordenar la salida porratingy establece el argumentoascendingenFalsepara ver primero las valoraciones más altas. - Usa los métodos
.filter()y.show()sobre el conjunto de datosrecommendationspara ver las valoraciones del usuario 60. Ten en cuenta que cuando ALS genera recomendaciones, se proporcionan en orden descendente por userId, por lo que no hace falta ordenar el dataframe. - Haz lo mismo para el usuario 63.
- ¿Los géneros de las recomendaciones guardan cierta coherencia con las valoraciones originales de cada usuario?
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Look at user 60's ratings
print("User 60's Ratings:")
original_ratings.filter(col("____") == 60).____("rating", ____ = False).show()
# Look at the movies recommended to user 60
print("User 60s Recommendations:")
____.____(col("userId") == ____).show()
# Look at user 63's ratings
print("User 63's Ratings:")
original_ratings.filter(col("____") == ____).____("rating", ____ = False).show()
# Look at the movies recommended to user 63
print("User 63's Recommendations:")
____.____(col("userId") == ____).show()