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
Oefeninstructies
- Importeer de submodule
pyspark.ml.tuningonder de aliastune. - Roep de class-constructor
ParamGridBuilder()aan zonder argumenten. Sla dit op alsgrid. - Roep de methode
.addGrid()aan opgridmetlr.regParamals eerste argument ennp.arange(0, .1, .01)als tweede argument. Deze tweede aanroep is een functie uit denumpy-module (geïmporteerdas np) die een lijst met getallen van 0 tot .1 maakt, in stappen van .01. Overschrijfgridmet het resultaat. - Werk
gridopnieuw bij door de methode.addGrid()een tweede keer aan te roepen en maak een grid voorlr.elasticNetParamdat alleen de waarden[0, 1]bevat. - Roep de methode
.build()aan opgriden 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()