Compensatie voor onvolledige gegevens
Voor de meeste gegevenssets heeft het merendeel van de gebruikers maar een klein aantal items beoordeeld. Zoals je in de vorige oefening zag, kan de manier waarop je omgaat met gebruikers die geen beoordeling voor een item hebben, de geldigheid van je modellen sterk beïnvloeden.
In deze oefening vul je ontbrekende data aan met informatie die de data die je wél hebt niet zou moeten vertekenen.
Je haalt het gemiddelde cijfer dat elke gebruiker over al hun beoordelingen heeft gegeven en gebruikt dit gemiddelde vervolgens om de scores van gebruikers rond nul te centreren. Tot slot kun je de lege waarden invullen met nullen, wat nu een neutrale score is. Zo minimaliseer je de impact op hun totale profiel, maar kun je gebruikers nog steeds met elkaar vergelijken.
user_ratings_table met één rij per gebruiker is voor je geladen.
Deze oefening maakt deel uit van de cursus
Aanbevelingssystemen bouwen in Python
Oefeninstructies
- Zoek het gemiddelde van de beoordelingen die door elke gebruiker in
user_ratings_tablezijn gegeven en sla deze op alsavg_ratings. - Trek de rijgemiddelden af van elke rij in
user_ratings_tableen sla dit op alsuser_ratings_table_centered. - Vul de lege waarden in het nieuw gemaakte
user_ratings_table_centeredaan met nullen.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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.____(____)