Kompensera för ofullständig data
I de flesta datamängder har majoriteten av användarna bara betygsatt ett fåtal objekt. Som du såg i förra övningen kan hur du hanterar användare utan betyg för ett visst objekt ha stor inverkan på modellernas tillförlitlighet.
I den här övningen fyller du i saknade värden med information som inte bör snedvrida den data du redan har.
Du beräknar det genomsnittliga betyg varje användare har gett totalt sett, och använder sedan det genomsnittet för att centrera användarnas betyg kring noll. Slutligen kan du fylla de tomma värdena med nollor – vilket nu representerar ett neutralt betyg – vilket minimerar påverkan på användarnas övergripande profil men ändå möjliggör jämförelser mellan användare.
user_ratings_table med en rad per användare har laddats åt dig.
Den här övningen är en del av kursen
Bygga rekommendationsmotorer i Python
Övningsinstruktioner
- Beräkna medelvärdet av betygen som varje användare har gett i
user_ratings_tableoch lagra resultatet somavg_ratings. - Subtrahera radmedelvärdet från varje rad i
user_ratings_tableoch lagra resultatet somuser_ratings_table_centered. - Fyll de tomma värdena i den nyligen skapade
user_ratings_table_centeredmed nollor.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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.____(____)