Confrontare i metodi di raccomandazione
In questo corso hai previsto come, secondo te, un utente valuterebbe film che non ha visto usando metodi diversi (medie semplici delle valutazioni, KNN, fattorizzazione di matrici). In questo esercizio finale, confronterai le valutazioni medie e la fattorizzazione di matrici usando mean_squared_error() come misura delle loro prestazioni.
Le previsioni basate sulle medie sono state caricate come avg_pred_ratings_df, mentre le previsioni calcolate sono state caricate come calc_pred_ratings_df.
I valori di verità a terra sono stati caricati come act_ratings_df.
Infine, la funzione mean_squared_error() è stata importata da sklearn.metrics per consentirti di usarla.
Questo esercizio fa parte del corso
Creare motori di raccomandazione in Python
Istruzioni dell'esercizio
- Estrai le righe 0-20 e le colonne 0-100 (le aree che vuoi confrontare) nei DataFrame
act_ratings_df,avg_pred_ratings_dfecalc_pred_ratings_df. - Crea una maschera del DataFrame
actual_valuesche selezioni solo le celle non vuote. - Trova l’errore quadratico medio tra le due previsioni e i valori di verità a terra.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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))