Comparer des méthodes de recommandation
Dans ce cours, vous avez prédit la note qu'un utilisateur donnerait à des films qu'il n'a pas vus en utilisant plusieurs méthodes (moyennes simples, KNN, factorisation de matrices). Dans cet exercice final, vous allez comparer les notes moyennes et la factorisation de matrices en utilisant mean_squared_error() pour mesurer leur performance.
Les prédictions basées sur les moyennes ont été chargées dans avg_pred_ratings_df, tandis que les prédictions calculées ont été chargées dans calc_pred_ratings_df.
Les valeurs de vérité terrain ont été chargées dans act_ratings_df.
Enfin, la fonction mean_squared_error() a été importée depuis sklearn.metrics pour votre usage.
Cette activité fait partie du cours
Créer des moteurs de recommandation en Python
Instructions de l’exercice
- Extrayez les lignes 0 à 20 et les colonnes 0 à 100 (les zones que vous souhaitez comparer) des DataFrames
act_ratings_df,avg_pred_ratings_dfetcalc_pred_ratings_df. - Créez un masque du DataFrame
actual_valuesqui cible uniquement les cellules non vides. - Calculez l'erreur quadratique moyenne entre les deux prédictions et les valeurs de vérité terrain.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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))