Aan de slagGa gratis aan de slag

Aanbevelingsmethoden vergelijken

In deze cursus heb je met meerdere methoden voorspeld hoe een gebruiker films die hij of zij nog niet heeft gezien, zou beoordelen (basisgemiddelden, KNN, matrixfactorisatie). In deze laatste oefening vergelijk je de gemiddelde ratings met matrixfactorisatie met behulp van mean_squared_error() als maat voor de prestaties. De voorspellingen op basis van gemiddelden zijn geladen als avg_pred_ratings_df en de berekende voorspellingen als calc_pred_ratings_df. De ground-truthwaarden zijn geladen als act_ratings_df.

Tot slot is de functie mean_squared_error() voor je geïmporteerd uit sklearn.metrics.

Deze oefening maakt deel uit van de cursus

Aanbevelingssystemen bouwen in Python

Cursus bekijken

Oefeninstructies

  • Extraheer rijen 0–20 en kolommen 0–100 (de gebieden die je wilt vergelijken) uit de DataFrames act_ratings_df, avg_pred_ratings_df en calc_pred_ratings_df.
  • Maak een masker van de DataFrame actual_values dat alleen niet-lege cellen selecteert.
  • Bepaal de mean squared error tussen de twee voorspellingen en de ground-truthwaarden.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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))
Code bewerken en uitvoeren