É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
ratings
pour obtenir((user, product), rating)
. - Organiser le RDD
predictions
pour 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(____))