Compensarea datelor incomplete
În majoritatea seturilor de date, cea mai mare parte a utilizatorilor au evaluat doar un număr mic de articole. Așa cum ai văzut în exercițiul anterior, modul în care tratezi utilizatorii care nu au acordat evaluări pentru un articol poate influența semnificativ validitatea modelelor tale.
În acest exercițiu, vei completa datele lipsă cu informații care să nu distorsioneze datele existente.
Vei calcula scorul mediu acordat de fiecare utilizator în toate evaluările sale, iar apoi vei folosi această medie pentru a centra scorurile utilizatorilor în jurul valorii zero. În final, vei putea completa valorile goale cu zerouri – care reprezintă acum un scor neutru – minimizând astfel impactul asupra profilului general al utilizatorilor, dar permițând în continuare compararea acestora.
user_ratings_table, cu câte un rând per utilizator, a fost deja încărcată pentru tine.
Acest exercițiu face parte din cursul
Construirea motoarelor de recomandare în Python
Instrucțiuni pentru exercițiu
- Calculează media evaluărilor acordate de fiecare utilizator în
user_ratings_tableși stocheaz-o caavg_ratings. - Scade mediile pe rânduri din fiecare rând al
user_ratings_tableși stocheaz rezultatul causer_ratings_table_centered. - Completează valorile goale din
user_ratings_table_centerednou creată cu zerouri.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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.____(____)