Empfehlungsmethoden vergleichen
In diesem Kurs hast du mit mehreren Methoden (einfache Durchschnittsbewertungen, KNN, Matrixfaktorisierung) vorhergesagt, wie ein Nutzer Filme bewerten würde, die er noch nicht gesehen hat. In dieser letzten Übung vergleichst du die Durchschnittsbewertungen mit der Matrixfaktorisierung. Als Maß für die Güte der Vorhersagen verwendest du mean_squared_error().
Die auf Durchschnitten basierenden Vorhersagen wurden als avg_pred_ratings_df geladen, die berechneten Vorhersagen als calc_pred_ratings_df.
Die Ground-Truth-Werte wurden als act_ratings_df geladen.
Außerdem wurde die Funktion mean_squared_error() aus sklearn.metrics für dich importiert.
Diese Übung ist Teil des Kurses
Recommendation Engines mit Python entwickeln
Anleitung zur Übung
- Extrahiere die Zeilen 0–20 und die Spalten 0–100 (die Bereiche, die du vergleichen möchtest) in den DataFrames
act_ratings_df,avg_pred_ratings_dfundcalc_pred_ratings_df. - Erstelle eine Maske des DataFrames
actual_values, die nur nicht leere Zellen erfasst. - Ermittle den Mean Squared Error zwischen den beiden Vorhersagen und den Ground-Truth-Werten.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# Extract the ground truth to compare your predictions against
actual_values = act_ratings_df.____[:20, :100].values
avg_values = avg_pred_ratings_df.____[:20, :100].values
predicted_values = calc_pred_ratings_df.____[:20, :100].values
# Create a mask of actual_values to only look at the non-missing values in the ground truth
mask = ~np.isnan(____)
# Print the performance of both predictions and compare
print(____(____[mask], avg_values[mask], squared=False))
print(____(____[mask], predicted_values[mask], squared=False))