Créer des modèles implicites
Maintenant que vous avez défini toutes vos valeurs d'hyperparamètres, laissez Spark entraîner suffisamment de modèles pour tester chaque combinaison. Pour vous aider, une boucle for est fournie ici. Suivez les instructions ci-dessous pour créer automatiquement ces modèles ALS. Dans les exercices suivants, vous exécuterez ces modèles sur des jeux de test afin de voir lequel offre les meilleures performances.
L'algorithme ALS a déjà été importé pour vous. Les listes que vous avez créées dans l'exercice précédent (ranks, maxIters, regParams, alphas) sont également fournies.
Cette activité fait partie du cours
Créer des moteurs de recommandation avec PySpark
Instructions de l’exercice
- Une liste vide appelée
model_listest fournie ici. La boucleforcréera un modèle pour chaque combinaison d'hyperparamètres reçue et l'ajoutera àmodel_list. - Complétez la boucle
foren référant le contenu de chaque liste, oùrreprésente les éléments de la listeranks,miceux demaxIters,rpceux deregParamsetaceux dealphas. - Affichez
len(model_list)ainsi quemodel_listpour confirmer que chaque modèle a été créé. La longueur devrait être égale au produit des longueurs de chacune des listes d'hyperparamètres ci‑dessus. Vous pouvez exécuter la validation supplémentaire fournie pour en être certain.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# For loop will automatically create and store ALS models
for r in ____:
for mi in ____:
for rp in ____:
for a in ____:
model_list.append(ALS(userCol= "userId", itemCol= "songId", ratingCol= "num_plays", rank = r, maxIter = mi, regParam = rp, alpha = a, coldStartStrategy="drop", nonnegative = True, implicitPrefs = True))
# Print the model list, and the length of model_list
print (model_list, "Length of model_list: ", len(____))
# Validate
len(model_list) == (len(ranks)*len(maxIters)*len(regParams)*len(alphas))