Creează un grid
În continuare, trebuie să creezi un grid de valori prin care să cauți hiperparametrii optimi. Submodulul pyspark.ml.tuning include o clasă numită ParamGridBuilder care face exact asta (poate începi deja să observi un tipar: PySpark are un submodul pentru aproape orice!).
Vei folosi metodele .addGrid() și .build() pentru a crea un grid pe care să îl utilizezi la validarea încrucișată. Metoda .addGrid() primește un parametru al modelului (un atribut al Estimator-ului lr, creat în unul dintre exercițiile anterioare) și o listă de valori pe care vrei să le testezi.
Metoda .build() nu primește argumente — returnează pur și simplu gridul pe care îl vei folosi mai târziu.
Acest exercițiu face parte din cursul
Fundamente PySpark
Instrucțiuni pentru exercițiu
- Importă submodulul
pyspark.ml.tuningcu aliasultune. - Apelează constructorul clasei
ParamGridBuilder()fără argumente și salvează rezultatul cagrid. - Apelează metoda
.addGrid()pegrid, culr.regParamca prim argument șinp.arange(0, .1, .01)ca al doilea argument. Acest al doilea argument este o funcție din modululnumpy(importatas np) care generează o listă de numere de la 0 la .1, cu un pas de .01. Suprascriegridcu rezultatul. - Actualizează
griddin nou apelând metoda.addGrid()a doua oară, pentru a crea un grid pentrulr.elasticNetParamcare să conțină doar valorile[0, 1]. - Apelează metoda
.build()pegridși suprascrie-l cu rezultatul.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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()