Kom igångKom igång gratis

Jämföra rekommendationsmetoder

I den här kursen har du förutsagt hur du tror att en användare skulle betygsätta filmer de inte sett, med hjälp av flera olika metoder (grundläggande genomsnittliga betyg, KNN och matrisfaktorisering). I den här avslutande övningen jämför du genomsnittsbaserade betyg med matrisfaktorisering, där mean_squared_error() används som mått på hur väl metoderna presterar. Prediktionerna baserade på genomsnitt har laddats in som avg_pred_ratings_df, medan de beräknade prediktionerna har laddats in som calc_pred_ratings_df. Referensvärdena har laddats in som act_ratings_df.

Funktionen mean_squared_error() har redan importerats från sklearn.metrics och är redo att användas.

Den här övningen är en del av kursen

Bygga rekommendationsmotorer i Python

Visa kurs

Övningsinstruktioner

  • Extrahera raderna 0–20 och kolumnerna 0–100 (det område du vill jämföra) från DataFrames act_ratings_df, avg_pred_ratings_df och calc_pred_ratings_df.
  • Skapa en mask för DataFrame actual_values som endast riktar in sig på celler som inte är tomma.
  • Beräkna medelkvadratfelet mellan de två prediktionerna och referensvärdena.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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))
Redigera och kör kod