CommencezCommencez gratuitement

Créer un modèle ALS

Spécifions votre premier modèle ALS. Complétez le code ci-dessous pour construire votre premier modèle ALS.

Rappelez-vous que vous pouvez utiliser la méthode .columns sur la trame de données ratings pour voir les noms des colonnes qui contiennent les données d'utilisateur, de film et de cote. Spark doit connaître le nom de ces colonnes pour exécuter correctement ALS.

Cette activité fait partie du cours

Créer des moteurs de recommandation avec PySpark

Voir le cours

Instructions de l’exercice

  • Avant de créer notre modèle ALS, nous devons diviser les données en données d'entraînement et en données de test. Utilisez la méthode randomSplit() pour scinder la trame de données ratings en training_data et test_data avec une répartition de 0.8/0.2 respectivement, et un seed du générateur de nombres aléatoires de 42.
  • Indiquez à Spark quelles colonnes contiennent userCol, itemCol et ratingCol. Utilisez la méthode .columns au besoin. Complétez les hyperparamètres. Réglez rank à 10, maxIter à 15, regParam (lambda) à .1, coldStartStrategy à "drop", l'argument nonnegative à True, et comme nos données contiennent des cotes explicites, fixez l'argument implicitPrefs à False.
  • Ajustez maintenant le modèle als à la partie training_data des données ratings en appelant la méthode als.fit() sur training_data. Nommez le modèle ajusté model.
  • Générez des prédictions sur la partie test_data des données ratings en appelant la méthode model.transform() sur test_data. Nommez les prédictions test_predictions. N'hésitez pas à afficher les prédictions en appelant la méthode .show() sur test_predictions.

Exercice interactif pratique

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

# Split the ratings dataframe into training and test data
(training_data, test_data) = ratings.____([____, ____], seed=42)

# Set the ALS hyperparameters
from pyspark.ml.recommendation import ALS
als = ALS(userCol="____", itemCol="____", ratingCol="____", rank =____, maxIter =____, regParam =____,
          coldStartStrategy="____", nonnegative =____, implicitPrefs = ____)

# Fit the mdoel to the training_data
____ = ____.fit(____)

# Generate predictions on the test_data
____ = ____.transform(____)
test_predictions.show()
Modifier et exécuter le code