Les recommandations sont-elles cohérentes?
Maintenant que nous comprenons la performance de notre modèle et que nous avons une bonne confiance qu'il fournira des recommandations pertinentes pour les utilisateurs, examinons concrètement les recommandations faites à un utilisateur pour voir si elles sont cohérentes.
Les données de cotes originales sont fournies ici sous original_ratings. Consultez les cotes originales de l'utilisateur 60 et de l'utilisateur 63, puis comparez-les à ce qu'ALS leur a recommandé. À votre avis, les recommandations sont-elles cohérentes avec leurs préférences initiales?
Cette activité fait partie du cours
Créer des moteurs de recommandation avec PySpark
Instructions de l’exercice
- Utilisez
.filter()sur le dataframeoriginal_ratingspour vous assurer quecol("userId")est égal à60afin d'examiner les cotes originales de l'utilisateur 60. Appelez la méthode.sort()pour trier la sortie parratinget réglez l'argumentascendingàFalsepour voir d'abord les cotes les plus élevées. - Utilisez les méthodes
.filter()et.show()sur l'ensemble de donnéesrecommendationspour examiner les cotes de l'utilisateur 60. Notez que lorsque ALS génère des recommandations, elles sont fournies par ordre décroissant par userId, donc il n'est pas nécessaire de trier le dataframe. - Faites la même chose pour l'utilisateur 63.
- Les genres recommandés sont-ils en phase avec les cotes originales de chaque utilisateur?
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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()