Aan de slagGa gratis aan de slag

Maak een grid

Vervolgens moet je een grid met waarden maken om over te zoeken wanneer je de optimale hyperparameters zoekt. De submodule pyspark.ml.tuning bevat een klasse ParamGridBuilder die precies dat doet (misschien begin je een patroon te zien; PySpark heeft een submodule voor bijna alles!).

Je gebruikt de methoden .addGrid() en .build() om een grid te maken dat je kunt gebruiken voor crossvalidatie. De methode .addGrid() neemt een modelparameter (een attribuut van de model-Estimator, lr, die je een paar oefeningen geleden hebt gemaakt) en een lijst met waarden die je wilt proberen. De methode .build() neemt geen argumenten; die geeft simpelweg het grid terug dat je later gaat gebruiken.

Deze oefening maakt deel uit van de cursus

Basis van PySpark

Cursus bekijken

Oefeninstructies

  • Importeer de submodule pyspark.ml.tuning onder de alias tune.
  • Roep de class-constructor ParamGridBuilder() aan zonder argumenten. Sla dit op als grid.
  • Roep de methode .addGrid() aan op grid met lr.regParam als eerste argument en np.arange(0, .1, .01) als tweede argument. Deze tweede aanroep is een functie uit de numpy-module (geïmporteerd as np) die een lijst met getallen van 0 tot .1 maakt, in stappen van .01. Overschrijf grid met het resultaat.
  • Werk grid opnieuw bij door de methode .addGrid() een tweede keer aan te roepen en maak een grid voor lr.elasticNetParam dat alleen de waarden [0, 1] bevat.
  • Roep de methode .build() aan op grid en overschrijf het met de output.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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()
Code bewerken en uitvoeren