Zacznij terazZacznij za darmo

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

Zobacz kurs

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_centered zerami.
  • 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))
Edytuj i uruchom kod