Normalisera dina data
Innan du kan hitta faktorerna i betygsmatrisen med hjälp av singulärvärdesuppdelning behöver du "de-meana", eller centrera den, genom att subtrahera varje rads medelvärde från alla värden i den raden.
I den här övningen börjar du förbereda DataFrame med filmbetyg som du har arbetat med, så att du kan utföra singulärvärdesuppdelning.
user_ratings_df innehåller en rad per användare och en kolumn för varje film och har redan laddats in åt dig.
Den här övningen är en del av kursen
Bygga rekommendationsmotorer i Python
Övningsinstruktioner
- Beräkna det genomsnittliga betyg varje användare har gett för alla filmer de har sett och lagra värdena som
avg_ratings. - Subtrahera radmedelvärdena från respektive rader och lagra resultatet som
user_ratings_centered. - Fyll slutligen i alla saknade värden i
user_ratings_centeredmed nollor. - Skriv ut medelvärdet för varje kolumn i
user_ratings_centeredför att visa att de har de-meanats.
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_df.____(axis=1)
# Center each user's ratings around 0
user_ratings_centered = user_ratings_df.____(____, axis=1)
# Fill in all missing values with 0s
user_ratings_centered.____(0, inplace=True)
# Print the mean of each column
print(user_ratings_centered.____(axis=1))