Évaluation du modèle à l'aide de la MSE
Après avoir généré les évaluations prédites à partir des données de test en utilisant le modèle ALS, dans cette dernière partie de l'exercice, vous préparerez les données pour calculer l'erreur quadratique moyenne (MSE) du modèle. La MSE est la valeur moyenne de (original rating – predicted rating)**2 pour tous les utilisateurs et indique l'adéquation absolue du modèle aux données.
Pour ce faire, vous devez d'abord organiser les RDD ratings_final et predictions de manière à obtenir un tuple au format ((user, product), rating)). Dans les deux RDD, la correspondance est la suivante :
0: user
1: product
2: rating
Vous joindrez ensuite les RDD transformés et appliquerez enfin une fonction de différence quadratique avec mean() pour obtenir la MSE.
Rappelez-vous qu’un SparkContext sc est déjà disponible dans votre espace de travail. De plus, ratings_final et le RDD predictions sont déjà disponibles dans votre espace de travail.
Cet exercice fait partie du cours
Principes fondamentaux des mégadonnées avec PySpark
Instructions
- Organiser le RDD
ratingspour obtenir((user, product), rating). - Organiser le RDD
predictionspour obtenir((user, product), rating). - Joindre le RDD predictions et le RDD ratings.
- Évaluez le modèle à l'aide de la MSE entre l’évaluation originale et l’évaluation prédite et affichez ce résultat.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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(____))