Crear una cuadrícula
A continuación, tienes que crear una cuadrícula de valores sobre la que buscar los hiperparámetros óptimos. El submódulo pyspark.ml.tuning incluye una clase llamada ParamGridBuilder que hace precisamente eso (quizá estés empezando a notar un patrón aquí; ¡PySpark tiene un submódulo para casi todo!).
Tendrás que utilizar los métodos .addGrid() y .build() para crear una cuadrícula que puedas utilizar para la validación cruzada. El método .addGrid() toma un parámetro del modelo (un atributo del modelo Estimator, lr, que creaste hace unos ejercicios) y una lista de valores que quieres probar.
El método .build() no toma argumentos, solo devuelve la cuadrícula que utilizarás más adelante.
Este ejercicio forma parte del curso
Fundamentos de PySpark
Instrucciones del ejercicio
- Importa el submódulo
pyspark.ml.tuningcon el aliastune. - Llama al constructor de la clase
ParamGridBuilder()sin argumentos. Guárdalo comogrid. - Llama al método
.addGrid()engridconlr.regParamcomo primer argumento ynp.arange(0, .1, .01)como segundo argumento. Esta segunda llamada es una función del módulonumpy(importadoas np) que crea una lista de números del 0 al .1, incrementándose en .01. Sobrescribegridcon el resultado. - Actualiza de nuevo
gridllamando una segunda vez al método.addGrid()crea una cuadrícula paralr.elasticNetParamque incluya solo los valores[0, 1]. - Llama al método
.build()engridy sobrescríbelo con la salida.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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()