CommencezCommencez gratuitement

Compenser les données incomplètes

Dans la plupart des jeux de données, la majorité des utilisateurs n'auront évalué qu'un petit nombre d'éléments. Comme vous l'avez vu dans le dernier exercice, la façon dont vous traitez les utilisateurs qui n'ont pas de note pour un élément peut grandement influencer la validité de vos modèles.

Dans cet exercice, vous remplirez les données manquantes avec de l'information qui ne devrait pas biaiser les données que vous avez déjà.

Vous calculerez la note moyenne que chaque utilisateur a donnée sur l'ensemble de ses évaluations, puis vous utiliserez cette moyenne pour centrer les notes des utilisateurs autour de zéro. Enfin, vous pourrez remplir les valeurs vides avec des zéros, ce qui devient maintenant une note neutre, minimisant l'impact sur leur profil global tout en permettant la comparaison entre utilisateurs.

user_ratings_table, qui contient une ligne par utilisateur, a été chargée pour vous.

Cette activité fait partie du cours

Créer des moteurs de recommandation en Python

Voir le cours

Instructions de l’exercice

  • Trouvez la moyenne des évaluations données par chaque utilisateur dans user_ratings_table et enregistrez-la sous avg_ratings.
  • Soustrayez la moyenne de chaque ligne à la ligne correspondante dans user_ratings_table, puis enregistrez le résultat dans user_ratings_table_centered.
  • Remplissez les valeurs vides du nouveau user_ratings_table_centered avec des zéros.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# Get the average rating for each user 
avg_ratings = user_ratings_table.____(axis=____)

# Center each users ratings around 0
user_ratings_table_centered = user_ratings_table.____(____, axis=0)

# Fill in the missing data with 0s
user_ratings_table_normed = user_ratings_table_centered.____(____)
Modifier et exécuter le code