Créez une grille
Ensuite, vous devez créer une grille de valeurs pour rechercher les hyperparamètres optimaux. Le sous-module pyspark.ml.tuning comprend une classe appelée ParamGridBuilder qui fait exactement cela (vous commencez peut-être à remarquer un modèle ici ; 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() prend un paramètre de modèle (un attribut du modèle Estimator, lr, que vous avez créé il y a quelques exercices) et une liste de valeurs que vous voulez essayer.
La méthode .build() ne prend aucun argument, elle renvoie simplement la grille que vous utiliserez ultérieurement.
Cet exercice fait partie du cours
Introduction à PySpark
Instructions
- Importez le sous-module
pyspark.ml.tuningsous l'aliastune. - Appelez le constructeur de la classe
ParamGridBuilder()sans arguments. Enregistrez ceci sousgrid. - Appelez la méthode
.addGrid()surgridaveclr.regParamcomme premier argument etnp.arange(0, .1, .01)comme second argument. Ce deuxième appel est une fonction du modulenumpy(importéas np) qui crée une liste de nombres de 0 à .1, en incrémentant de .01. Remplacezgridpar le résultat. - Mettez à nouveau à jour
griden appelant une deuxième fois la méthode.addGrid(). Créez une grille pourlr.elasticNetParamqui ne comprend que les valeurs[0, 1]. - Appelez la méthode
.build()surgridet remplacez-la par la sortie.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# 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()