Evaluarea modelului folosind MSE
După ce ai generat ratingurile prezise din datele de test folosind modelul ALS, în această ultimă parte a exercițiului vei pregăti datele pentru calcularea Erorii Pătratice Medii (MSE) a modelului. MSE reprezintă valoarea medie a (original rating – predicted rating)**2 pentru toți utilizatorii și indică cât de bine se potrivește modelul cu datele reale.
Pentru aceasta, vei organiza mai întâi RDD-urile ratings_final și predictions astfel încât să formezi tuple de tipul ((user, product), rating)). În ambele RDD-uri, maparea este:
0: user
1: product
2: rating
Apoi vei uni RDD-urile transformate și vei aplica o funcție de diferență la pătrat împreună cu mean() pentru a obține MSE.
Amintește-ți că ai un SparkContext sc disponibil în spațiul de lucru. De asemenea, RDD-urile ratings_final și predictions sunt deja disponibile în spațiul de lucru.
Acest exercițiu face parte din cursul
Fundamentele Big Data cu PySpark
Instrucțiuni pentru exercițiu
- Organizează RDD-ul
ratingspentru a obține((user, product), rating). - Organizează RDD-ul
predictionspentru a obține((user, product), rating). - Unește RDD-ul cu predicții cu RDD-ul cu ratinguri.
- Evaluează modelul folosind MSE dintre ratingul original și cel prezis, apoi afișează rezultatul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____))