Compararea metodelor de recomandare
În acest curs, ai prezis cum crezi că un utilizator ar evalua filmele pe care nu le-a văzut, folosind mai multe metode diferite (medii de bază, KNN, factorizare matriceală). În acest exercițiu final, vei compara evaluările medii și factorizarea matriceală folosind mean_squared_error() ca măsură a performanței lor.
Predicțiile bazate pe medii au fost încărcate ca avg_pred_ratings_df, iar predicțiile calculate au fost încărcate ca calc_pred_ratings_df.
Valorile reale au fost încărcate ca act_ratings_df.
În plus, funcția mean_squared_error() a fost importată din sklearn.metrics pentru a o putea folosi.
Acest exercițiu face parte din cursul
Construirea motoarelor de recomandare în Python
Instrucțiuni pentru exercițiu
- Extrage rândurile 0–20 și coloanele 0–100 (zonele pe care dorești să le compari) din DataFrame-urile
act_ratings_df,avg_pred_ratings_dfșicalc_pred_ratings_df. - Creează o mască a DataFrame-ului
actual_valuescare vizează doar celulele nevide. - Calculează eroarea medie pătratică dintre cele două predicții și valorile reale.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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))