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
Introducción a PySpark
Instrucciones del ejercicio
- Importa el submódulo
pyspark.ml.tuningcon el aliastune. - Llama al constructor de la clase
ParamGridBuilder()sin argumentos. Guárdala 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()