Créer une grille
Vous devez maintenant créer une grille de valeurs à parcourir pour trouver les hyperparamètres optimaux. Le sous-module pyspark.ml.tuning comprend une classe appelée ParamGridBuilder qui s'en charge (vous voyez sans doute le motif : PySpark a un sous-module pour à peu près tout!).
Vous devrez utiliser les méthodes .addGrid() et .build() pour créer une grille que vous pourrez utiliser pour la validation croisée. La méthode .addGrid() reçoit un paramètre de modèle (un attribut de l'Estimator du modèle, lr, que vous avez créé il y a quelques exercices) et une liste de valeurs à essayer.
La méthode .build() ne prend aucun argument ; elle retourne simplement la grille que vous utiliserez plus tard.
Cette activité fait partie du cours
Fondements de PySpark
Instructions de l’exercice
- Importez le sous-module
pyspark.ml.tuningavec l'aliastune. - Appelez le constructeur de classe
ParamGridBuilder()sans argument. Enregistrez-le dansgrid. - Appelez la méthode
.addGrid()surgridaveclr.regParamcomme premier argument etnp.arange(0, .1, .01)comme deuxième argument. Ce deuxième appel est une fonction du modulenumpy(importéas np) qui crée une liste de nombres de 0 à .1, avec un incrément de .01. Écrasezgridavec le résultat. - Mettez
gridà jour de nouveau en appelant une deuxième fois la méthode.addGrid()pour créer une grille pourlr.elasticNetParamqui inclut seulement les valeurs[0, 1]. - Appelez la méthode
.build()surgridet écrasez-la avec le résultat.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# Import the tuning submodule
import ____ as ____
# Create the parameter grid
grid = tune.____
# Add the hyperparameter
grid = grid.addGrid(____, np.arange(0, .1, .01))
grid = grid.addGrid(____, ____)
# Build the grid
grid = grid.build()