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