Compensare i dati incompleti
Nella maggior parte degli insiemi di dati, la maggior parte degli utenti avrà valutato solo un numero ridotto di elementi. Come hai visto nell'esercizio precedente, il modo in cui gestisci gli utenti che non hanno valutazioni per un elemento può influire notevolmente sulla validità dei tuoi modelli.
In questo esercizio, compilerai i dati mancanti con informazioni che non dovrebbero introdurre bias nei dati disponibili.
Otterrai il punteggio medio che ogni utente ha assegnato nelle proprie valutazioni e userai questa media per centrare i punteggi degli utenti attorno allo zero. Infine, potrai riempire i valori vuoti con zeri, che ora rappresentano un punteggio neutro, minimizzando l'impatto sul loro profilo complessivo, ma consentendo comunque il confronto tra utenti.
user_ratings_table, con una riga per utente, è già stata caricata per te.
Questo esercizio fa parte del corso
Creare motori di raccomandazione in Python
Istruzioni dell'esercizio
- Trova la media delle valutazioni date da ciascun utente in
user_ratings_tablee salvala comeavg_ratings. - Sottrai le medie di riga da ogni riga in
user_ratings_tablee salva il risultato comeuser_ratings_table_centered. - Riempi i valori vuoti nella nuova
user_ratings_table_centeredcon zeri.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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.____(____)