Kompensowanie niekompletnych danych
W większości zbiorów danych użytkownicy oceniają tylko niewielką część dostępnych pozycji. Jak widzieliśmy w poprzednim ćwiczeniu, sposób obsługi brakujących ocen może znacząco wpłynąć na trafność modelu.
W tym ćwiczeniu uzupełnisz brakujące dane w taki sposób, aby nie wprowadzały one błędu do już posiadanych wartości.
Obliczysz średnią ocenę wystawioną przez każdego użytkownika, a następnie wycentrujesz oceny każdego użytkownika wokół zera. Na koniec wypełnisz puste miejsca zerami, które pełnią teraz rolę neutralnego wyniku – minimalizuje to wpływ brakujących danych na profil użytkownika, a jednocześnie umożliwia porównywanie użytkowników między sobą.
Załadowano dla ciebie user_ratings_table z jednym wierszem na użytkownika.
To ćwiczenie jest częścią kursu
Budowanie systemów rekomendacji w Pythonie
Instrukcje do ćwiczenia
- Oblicz średnią ocen wystawionych przez każdego użytkownika w
user_ratings_tablei zapisz wynik jakoavg_ratings. - Odejmij średnie wierszowe od każdego wiersza w
user_ratings_tablei zapisz wynik jakouser_ratings_table_centered. - Wypełnij puste wartości w nowo utworzonej zmiennej
user_ratings_table_centeredzerami.
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_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.____(____)