Créer des partitions test/entraînement et bâtir votre modèle ALS
Vous savez déjà comment bâtir un modèle ALS, puisque vous l'avez fait au chapitre précédent. Nous allons le refaire, mais en ajoutant quelques étapes pour construire entièrement un modèle avec validation croisée.
D'abord, importez les fonctions requises et créez vos ensembles d'entraînement et de test en prévision de l'étape de validation croisée.
Cette activité fait partie du cours
Créer des moteurs de recommandation avec PySpark
Instructions de l’exercice
- Importez
RegressionEvaluatordepuisml.evaluation, l'algorithmeALSdepuisml.recommendation, ainsi queParamGridBuilderetCrossValidatordepuisml.tuning. - Créez une division entraînement/test de .80/.20 sur les données
ratingsà l'aide de la méthoderandomSplit. Nommez les ensemblestrainettest, et fixez 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 indiquez à Spark qu'il ne s'agit pas deimplicitPrefsen réglant l'argumentimplicitPrefsàFalse. Nommez ce modèleals. - Vérifiez que le modèle a été créé en appelant la fonction
type()surals. Le résultat devrait 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(____)