Ausgleich für unvollständige Daten
Bei den meisten Datensätzen hat die Mehrheit der Nutzer nur eine kleine Anzahl von Items bewertet. Wie du in der letzten Übung gesehen hast, kann der Umgang mit Nutzern, die für ein Item keine Bewertung haben, die Aussagekraft deiner Modelle stark beeinflussen.
In dieser Übung füllst du fehlende Daten mit Informationen auf, die die vorhandenen Daten nicht verzerren sollten.
Du berechnest den durchschnittlichen Score, den jeder Nutzer über all seine Bewertungen hinweg vergeben hat, und verwendest diesen Durchschnitt, um die Nutzer-Scores um null zu zentrieren. Abschließend kannst du die leeren Werte mit Nullen füllen – das ist jetzt ein neutraler Wert. So minimierst du den Einfluss auf ihr Gesamtprofil und kannst dennoch Nutzer miteinander vergleichen.
user_ratings_table mit einer Zeile pro Nutzer wurde für dich geladen.
Diese Übung ist Teil des Kurses
Recommendation Engines mit Python entwickeln
Anleitung zur Übung
- Ermittle den Durchschnitt der von jedem Nutzer in
user_ratings_tablevergebenen Bewertungen und speichere ihn alsavg_ratings. - Subtrahiere die Zeilenmittelwerte von jeder Zeile in
user_ratings_tableund speichere das Ergebnis alsuser_ratings_table_centered. - Fülle die leeren Werte im neu erstellten
user_ratings_table_centeredmit Nullen.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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.____(____)