CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Importez le sous-module pyspark.ml.tuning avec l'alias tune.
  • Appelez le constructeur de classe ParamGridBuilder() sans argument. Enregistrez-le dans grid.
  • Appelez la méthode .addGrid() sur grid avec 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 (importé as np) qui crée une liste de nombres de 0 à .1, avec un incrément de .01. Écrasez grid avec le résultat.
  • Mettez grid à jour de nouveau en appelant une deuxième fois la méthode .addGrid() pour créer une grille pour lr.elasticNetParam qui inclut seulement les valeurs [0, 1].
  • Appelez la méthode .build() sur grid et é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()
Modifier et exécuter le code