ÎncepețiÎncepe gratuit

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

Vezi cursul

Instrucțiuni pentru exercițiu

  • Organizează RDD-ul ratings pentru a obține ((user, product), rating).
  • Organizează RDD-ul predictions pentru 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(____))
Editează și rulează codul