Porovnání metod doporučování
V tomto kurzu jsi predikoval/a, jak by uživatelé hodnotili filmy, které dosud neviděli – a to pomocí několika různých metod (průměrná hodnocení, KNN, maticová faktorizace). V tomto závěrečném cvičení porovnáš metodu průměrných hodnocení a maticovou faktorizaci pomocí funkce mean_squared_error(), která slouží jako míra kvality jejich výsledků.
Predikce založené na průměrech jsou načteny jako avg_pred_ratings_df, vypočítané predikce pak jako calc_pred_ratings_df.
Skutečné hodnoty jsou načteny jako act_ratings_df.
Funkce mean_squared_error() je pro tebe již naimportována z sklearn.metrics.
Toto cvičení je součástí kurzu
Tvorba doporučovacích systémů v Pythonu
Pokyny k cvičení
- Vyber řádky 0–20 a sloupce 0–100 (oblast, kterou chceš porovnat) z DataFramů
act_ratings_df,avg_pred_ratings_dfacalc_pred_ratings_df. - Vytvoř masku DataFrame
actual_values, která cílí pouze na neprázdné buňky. - Vypočítej střední kvadratickou chybu mezi oběma predikcemi a skutečnými hodnotami.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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))