IniziaInizia gratis

Crea una griglia

Ora devi creare una griglia di valori su cui effettuare la ricerca per trovare gli iperparametri ottimali. Il sottomodulo pyspark.ml.tuning include una classe chiamata ParamGridBuilder che fa proprio questo (forse stai iniziando a notare un pattern: PySpark ha un sottomodulo per quasi tutto!).

Dovrai usare i metodi .addGrid() e .build() per creare una griglia da usare per la validazione incrociata. Il metodo .addGrid() prende un parametro del modello (un attributo dell’Estimator del modello, lr, che hai creato qualche esercizio fa) e una lista di valori che vuoi provare. Il metodo .build() non prende argomenti: restituisce semplicemente la griglia che userai più avanti.

Questo esercizio fa parte del corso

Fondamenti di PySpark

Visualizza il corso

Istruzioni dell'esercizio

  • Importa il sottomodulo pyspark.ml.tuning con l'alias tune.
  • Chiama il costruttore della classe ParamGridBuilder() senza argomenti. Salvalo come grid.
  • Chiama il metodo .addGrid() su grid con lr.regParam come primo argomento e np.arange(0, .1, .01) come secondo argomento. Questa seconda chiamata è una funzione del modulo numpy (importato as np) che crea una lista di numeri da 0 a .1 con incrementi di .01. Sovrascrivi grid con il risultato.
  • Aggiorna di nuovo grid chiamando il metodo .addGrid() una seconda volta per creare una griglia per lr.elasticNetParam che includa solo i valori [0, 1].
  • Chiama il metodo .build() su grid e sovrascrivilo con l'output.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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()
Modifica ed esegui il codice