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 à l’aide de plusieurs méthodes (moyennes simples, KNN, factorisation de matrices). Dans cet ultime exercice, vous allez comparer les notes moyennes et la factorisation de matrices en utilisant mean_squared_error() comme mesure de 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 référence ont été chargées dans act_ratings_df.
Enfin, la fonction mean_squared_error() a été importée depuis sklearn.metrics pour que vous puissiez l’utiliser.
Cet exercice fait partie du cours
Créer des moteurs de recommandation en Python
Instructions
- 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 référence.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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))