Zacznij terazZacznij za darmo

Ewaluacja modelu przy użyciu MSE

Po wygenerowaniu przewidywanych ocen z danych testowych za pomocą modelu ALS, w tej ostatniej części ćwiczenia przygotujesz dane do obliczenia błędu średniokwadratowego (MSE) modelu. MSE to średnia wartość wyrażenia (original rating – predicted rating)**2 dla wszystkich użytkowników – informuje, jak dobrze model dopasowuje się do danych.

W tym celu najpierw zorganizujesz RDD ratings_final i predictions tak, aby tworzyły krotki ((user, product), rating). W obu RDD odwzorowanie wygląda następująco:

0: user
1: product
2: rating

Następnie połączysz przekształcone RDD, a na końcu zastosujesz funkcję obliczającą różnicę kwadratową wraz z mean(), aby uzyskać wartość MSE.

Pamiętaj, że w przestrzeni roboczej masz dostępny SparkContext sc. RDD ratings_final i predictions są już załadowane do przestrzeni roboczej.

To ćwiczenie jest częścią kursu

Podstawy Big Data z PySpark

Zobacz kurs

Instrukcje do ćwiczenia

  • Zorganizuj RDD ratings, aby uzyskać postać ((user, product), rating).
  • Zorganizuj RDD predictions, aby uzyskać postać ((user, product), rating).
  • Połącz RDD z przewidywaniami z RDD zawierającym oceny.
  • Oceń model, obliczając MSE między oryginalną a przewidywaną oceną, i wydrukuj wynik.

Interaktywne ćwiczenie praktyczne

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

# Prepare ratings data
rates = ratings_final.____(lambda r: ((r[0], r[1]), ____))

# Prepare predictions data
preds = predictions.____(lambda r: ((____, ____), ____))

# Join the ratings data with predictions data
rates_and_preds = rates.____(preds)

# Calculate and print MSE
MSE = rates_and_preds.____(lambda r: (r[1][0] - r[1]____)**2).mean()
print("Mean Squared Error of the model for the test data = {:.2f}".format(____))
Edytuj i uruchom kod