Skapa ett rutnät
Nu behöver du skapa ett rutnät med värden att söka igenom när du letar efter optimala hyperparametrar. Undermodulen pyspark.ml.tuning innehåller en klass som heter ParamGridBuilder som gör just det (kanske börjar du ana ett mönster här – PySpark har en undermodul för nästan allt!).
Du behöver använda metoderna .addGrid() och .build() för att skapa ett rutnät som du sedan kan använda för korsvalidering. Metoden .addGrid() tar en modellparameter (ett attribut för modellens Estimator, lr, som du skapade i en tidigare övning) och en lista med värden som du vill prova.
Metoden .build() tar inga argument – den returnerar helt enkelt det rutnät som du kommer att använda senare.
Den här övningen är en del av kursen
Grunderna i PySpark
Övningsinstruktioner
- Importera undermodulen
pyspark.ml.tuningmed aliasettune. - Anropa klasskonstruktorn
ParamGridBuilder()utan argument och spara resultatet somgrid. - Anropa metoden
.addGrid()pågridmedlr.regParamsom första argument ochnp.arange(0, .1, .01)som andra argument. Det andra anropet är en funktion från modulennumpy(importeradas np) som skapar en lista med tal från 0 till ,1 med steget ,01. Skriv övergridmed resultatet. - Uppdatera
gridigen genom att anropa.addGrid()en andra gång och skapa ett rutnät förlr.elasticNetParamsom bara innehåller värdena[0, 1]. - Anropa metoden
.build()pågridoch skriv över det med utdata.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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()