CommencezCommencez gratuitement

Évaluation du modèle à l'aide de la MSE

Après avoir généré les cotes prédites à partir des données de test avec le modèle ALS, dans cette dernière partie de l'exercice, vous préparerez les données pour calculer la Mean Square Error (MSE) du modèle. La MSE correspond à la valeur moyenne de (original rating – predicted rating)**2 pour tous les utilisateurs et indique l'ajustement absolu du modèle aux données.

Pour ce faire, commencez par organiser les RDD ratings_final et predictions pour former un tuple de ((user, product), rating)). Dans les deux RDD, la correspondance est la suivante:

0: user
1: product
2: rating

Ensuite, joignez les RDD transformés et, pour finir, appliquez une fonction calculant la différence au carré, puis mean() pour obtenir la MSE.

N'oubliez pas que vous avez un SparkContext sc dans votre espace de travail. Les RDD ratings_final et predictions sont aussi déjà disponibles dans votre espace de travail.

Cette activité fait partie du cours

Principes de Big Data avec PySpark

Voir le cours

Instructions de l’exercice

  • Organisez le RDD ratings pour obtenir ((user, product), rating).
  • Organisez le RDD predictions pour obtenir ((user, product), rating).
  • Joignez le RDD des prédictions avec le RDD des cotes.
  • Évaluez le modèle à l'aide de la MSE entre la cote originale et la cote prédite et affichez-la.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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(____))
Modifier et exécuter le code