Compenser des 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 fortement influencer la validité de vos modèles.
Dans cet exercice, vous allez compléter les données manquantes avec des informations qui ne biaisent pas les données dont vous disposez.
Vous allez calculer la note moyenne que chaque utilisateur a donnée sur l’ensemble de ses évaluations, puis utiliser cette moyenne pour recentrer les notes des utilisateurs autour de zéro. Enfin, vous remplirez les valeurs vides par des zéros, qui constituent désormais une note neutre, minimisant l’impact sur leur profil global tout en permettant la comparaison entre utilisateurs.
user_ratings_table, avec une ligne par utilisateur, a été chargé pour vous.
Cet exercice fait partie du cours
Créer des moteurs de recommandation en Python
Instructions
- Trouvez la moyenne des notes données par chaque utilisateur dans
user_ratings_tableet enregistrez-la sous le nomavg_ratings. - Soustrayez la moyenne de chaque ligne à la ligne correspondante dans
user_ratings_table, et enregistrez le résultat soususer_ratings_table_centered. - Remplissez les valeurs vides du nouveau
user_ratings_table_centeredavec des zéros.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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.____(____)