LoslegenKostenlos loslegen

Modellbewertung mit MSE

Nachdem du mit dem ALS-Modell die vorhergesagten Bewertungen für die Testdaten erstellt hast, bereitest du in diesem letzten Teil der Übung die Daten für die Berechnung des mittleren quadratischen Fehlers (MSE) des Modells vor. Der MSE ist der Durchschnittswert von (original rating – predicted rating)**2 für alle Benutzer und zeigt die absolute Anpassung des Modells an die Daten an.

Für diesen Schritt ordnest du zunächst die RDDs ratings_final und predictions, um ein Tupel der Form ((Benutzer, Produkt), Bewertung)) zu erhalten. Das Mapping für beide RDDs ist:

0: user
1: product
2: rating

Dann verknüpfst du die transformierten RDDs und wendest schließlich eine quadratische Differenzfunktion zusammen mit mean() an, um den MSE zu erhalten.

Zur Erinnerung: Der SparkContext sc ist schon im Arbeitsbereich verfügbar. Außerdem sind die RDDs ratings_final und predictions bereits im Arbeitsbereich vorhanden.

Diese Übung ist Teil des Kurses

Grundlagen von Big Data mit PySpark

Kurs anzeigen

Anleitung zur Übung

  • Bringe den RDD ratings in die Form ((user, product), rating).
  • Bringe den RDD predictions in die Form ((user, product), rating).
  • Verknüpfe den „Predictions“-RDD mit dem „Ratings“-RDD.
  • Evaluiere das Modell anhand des mittleren quadratischen Fehlers (MSE) zwischen der ursprünglichen Bewertung und der vorhergesagten Bewertung. Gib das Ergebnis aus.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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(____))
Code bearbeiten und ausführen