CommencerCommencez gratuitement

Créer une grille

Ensuite, il est nécessaire de créer une grille de valeurs à parcourir lors de la recherche des hyperparamètres optimaux. Le sous-module pyspark.ml.tuning comprend une classe appelée ParamGridBuilder qui remplit précisément cette fonction (vous commencez peut-être à remarquer une tendance ici ; PySpark dispose d'un sous-module pour presque 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 souhaitez tester. La méthode .build() ne prend aucun argument, elle renvoie simplement la grille que vous utiliserez ultérieurement.

Cet exercice fait partie du cours

<cours>Principes fondamentaux de PySpark</cours>
Voir le cours

Instructions de l’exercice

  • Veuillez importer le sous-module pyspark.ml.tuning sous l'alias tune.
  • Veuillez appeler le constructeur de classe ParamGridBuilder() sans aucun argument. Enregistrez cela sous grid.
  • Veuillez appeler la méthode .addGrid() sur grid en utilisant lr.regParam comme premier argument et np.arange(0, .1, .01) comme deuxième argument. Ce deuxième appel est une fonction du module numpy (a importé as np) qui crée une liste de nombres compris entre 0 et 0,1, avec une incrémentation de 0,01. Veuillez remplacer grid par le résultat.
  • Veuillez mettre à jour grid à nouveau en appelant une seconde fois la méthode .addGrid() afin de créer une grille pour lr.elasticNetParam qui inclut uniquement les valeurs [0, 1].
  • Veuillez appeler la méthode .build() sur grid et la remplacer par la sortie.

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()
Modifier et exécuter le code