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
Instructions de l’exercice
- Trouvez la moyenne des évaluations données par chaque utilisateur dans
user_ratings_tableet enregistrez-la sousavg_ratings. - Soustrayez la moyenne de chaque ligne à la ligne correspondante dans
user_ratings_table, puis enregistrez le résultat dansuser_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 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.____(____)