CommencerCommencez gratuitement

Les recommandations sont-elles cohérentes ?

Maintenant que nous avons une idée des performances de notre modèle et que nous sommes raisonnablement confiants qu’il fournira des recommandations pertinentes pour les utilisateurs, regardons concrètement les recommandations faites à un utilisateur pour vérifier si elles ont du sens.

Les données de notes initiales sont fournies ici sous le nom original_ratings. Examinez les notes initiales des utilisateurs 60 et 63, puis comparez-les à ce qu’ALS leur a recommandé. Selon vous, les recommandations sont-elles cohérentes avec leurs préférences d’origine ?

Cet exercice fait partie du cours

<cours>Créer des moteurs de recommandation avec PySpark</cours>
Voir le cours

Instructions de l’exercice

  • Utilisez .filter() sur le dataframe original_ratings pour vous assurer que col("userId") est égal à 60 afin d’afficher les notes initiales de l’utilisateur 60. Appelez la méthode .sort() pour trier la sortie par rating et réglez l’argument ascending sur False pour voir d’abord les meilleures notes.
  • Utilisez les méthodes .filter() et .show() sur le dataset recommendations pour afficher les recommandations de l’utilisateur 60. Notez que lorsque ALS génère des recommandations, elles sont renvoyées par userId dans l’ordre décroissant, il n’est donc 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 notes initiales 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()
Modifier et exécuter le code