Normalizacja danych
Zanim będzie można rozłożyć macierz ocen na czynniki metodą rozkładu według wartości osobliwych (SVD), trzeba ją „odśrodkować", czyli wycentrować – odejmując od każdej wartości w wierszu średnią tego wiersza.
W tym ćwiczeniu zaczniesz przygotowywać DataFrame z ocenami filmów, nad którym pracowałeś/-aś, tak aby móc zastosować rozkład według wartości osobliwych.
user_ratings_df zawiera jeden wiersz na użytkownika i jedną kolumnę na film – zbiór danych został już wczytany.
To ćwiczenie jest częścią kursu
Budowanie systemów rekomendacji w Pythonie
Instrukcje do ćwiczenia
- Znajdź średnią ocenę wystawioną przez każdego użytkownika we wszystkich filmach, które obejrzał, i zapisz te wartości jako
avg_ratings. - Odejmij średnie wierszowe od odpowiednich wierszy i zapisz wynik jako
user_ratings_centered. - Uzupełnij wszystkie brakujące wartości w
user_ratings_centeredzerami. - Wyświetl średnią każdej kolumny w
user_ratings_centered, aby potwierdzić, że dane zostały wycentrowane.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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))