Faça uma grade
Em seguida, você precisa criar uma grade de valores para pesquisar ao procurar os hiperparâmetros ideais. O submódulo pyspark.ml.tuning inclui uma classe chamada ParamGridBuilder que faz exatamente isso (talvez você esteja começando a perceber um padrão aqui: o PySpark tem um submódulo para quase tudo!)
Você precisa usar os métodos .addGrid() e .build() para criar uma grade que possa ser usada para validação cruzada. O método .addGrid() recebe um parâmetro de modelo (um atributo do modelo Estimator, lr, que você criou há alguns exercícios) e uma lista de valores que você deseja testar.
O método .build() não recebe argumentos. Ele apenas retorna a grade que você usará posteriormente.
Este exercício faz parte do curso
Introdução ao PySpark
Instruções do exercício
- Importe o submódulo
pyspark.ml.tuningcom o nome alternativotune. - Chame o construtor da classe
ParamGridBuilder()sem argumentos. Salve o resultado comogrid. - Chame o método
.addGrid()emgridcomlr.regParamcomo primeiro argumento enp.arange(0, .1, .01)como segundo argumento. Essa segunda chamada é uma função do módulonumpy(importadoas np) que cria uma lista de números de 0 a 0,1, com incrementos de 0,01. Substituagridpelo resultado. - Atualize
gridnovamente chamando o método.addGrid()uma segunda vez. Crie uma grade paralr.elasticNetParamque inclua apenas os valores[0, 1]. - Chame o método
.build()comgride substitua-o pela saída.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()