Zacznij terazZacznij za darmo

Porównywanie metod rekomendacji

W tym kursie przewidywałeś oceny filmów, których użytkownik jeszcze nie widział – za pomocą różnych metod (podstawowe średnie ocen, KNN, faktoryzacja macierzy). W tym ostatnim ćwiczeniu porównasz wyniki metody uśrednionych ocen i faktoryzacji macierzy, używając funkcji mean_squared_error() jako miary jakości przewidywań. Przewidywania oparte na średnich zostały wczytane jako avg_pred_ratings_df, natomiast przewidywania obliczeniowe – jako calc_pred_ratings_df. Rzeczywiste wartości referencyjne zostały wczytane jako act_ratings_df.

Funkcja mean_squared_error() została już zaimportowana z biblioteki sklearn.metrics.

To ćwiczenie jest częścią kursu

Budowanie systemów rekomendacji w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wyodrębnij wiersze od 0 do 20 oraz kolumny od 0 do 100 (obszary, które chcesz porównać) z ramek danych act_ratings_df, avg_pred_ratings_df i calc_pred_ratings_df.
  • Utwórz maskę ramki danych actual_values, która wskazuje wyłącznie niepuste komórki.
  • Oblicz błąd średniokwadratowy między obydwoma zestawami przewidywań a rzeczywistymi wartościami referencyjnymi.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# 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))
Edytuj i uruchom kod