Нормалізуйте дані
Перш ніж знайти множники матриці рейтингів за допомогою синґулярного розкладу, потрібно «зняти середнє» (центрувати дані): відняти середнє кожного рядка від кожного значення в цьому рядку.
У цій вправі ви почнете готувати датафрейм з рейтингами фільмів, з яким працювали, щоб мати змогу виконати синґулярний розклад.
user_ratings_df містить один рядок на користувача та окремий стовпчик для кожного фільму й уже завантажений для вас.
Ця вправа є частиною курсу
Створення систем рекомендацій у Python
Інструкції до вправи
- Знайдіть середній рейтинг, який кожен користувач поставив усім переглянутим фільмам, і збережіть ці значення як
avg_ratings. - Відніміть середні значення рядків від відповідних рядків і збережіть результат як
user_ratings_centered. - Потім заповніть усі пропущені значення в
user_ratings_centeredнулями. - Виведіть середнє кожного стовпця в
user_ratings_centered, щоб показати, що дані центровано (de-meaned).
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# 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))