Créer des jeux de test/entraînement et construire votre modèle ALS
Vous savez déjà construire un modèle ALS, après l’avoir fait dans le chapitre précédent. Nous allons recommencer, mais en ajoutant quelques étapes pour obtenir un modèle entièrement validé par validation croisée.
Commencez par importer les fonctions nécessaires et créez nos jeux de données d’entraînement et de test en prévision de l’étape de validation croisée.
Cet exercice fait partie du cours
<cours>Créer des moteurs de recommandation avec PySpark</cours>Instructions de l’exercice
- Importez le
RegressionEvaluatordepuisml.evaluation, l’algorithmeALSdepuisml.recommendation, ainsi queParamGridBuilderetCrossValidatordepuisml.tuning. - Créez une partition entraînement/test de 0,80/0,20 sur les données
ratingsavec la méthoderandomSplit. Nommez les jeux de donnéestrainettest, et définissez la graine aléatoire à1234. - Construisez le modèle ALS en indiquant à Spark les noms des colonnes du dataframe
ratingsqui correspondent àuserCol,itemColetratingCol. Réglez l’argumentnonnegativeàTrue,coldStartStrategyà"drop"et précisez qu’il ne s’agit pas deimplicitPrefsen définissant l’argumentimplicitPrefsàFalse. Nommez ce modèleals. - Vérifiez que le modèle a bien été créé en appelant la fonction
type()surals. Le résultat doit indiquer de quel type de modèle il s’agit.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import the required functions
from pyspark.ml.evaluation import ____
from pyspark.ml.recommendation import ____
from pyspark.ml.tuning import ____, ____
# Create test and train set
(train, test) = ratings.___([0.____, 0.____], seed = ____)
# Create ALS model
als = ALS(userCol="____", itemCol="____", ratingCol="____", nonnegative = ____, implicitPrefs = ____)
# Confirm that a model called "als" was created
type(____)