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 de ejercicio
- Importa el submódulo
pyspark.ml.tuning
con el aliastune
. - Llama al constructor de la clase
ParamGridBuilder()
sin argumentos. Guárdala comogrid
. - Llama al método
.addGrid()
engrid
conlr.regParam
como 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. Sobrescribegrid
con el resultado. - Actualiza de nuevo
grid
llamando una segunda vez al método.addGrid()
crea una cuadrícula paralr.elasticNetParam
que incluya solo los valores[0, 1]
. - Llama al método
.build()
engrid
y sobrescríbelo con la salida.
Ejercicio interactivo práctico
Pruebe este ejercicio completando este 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()