ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Importe o submódulo pyspark.ml.tuning com o nome alternativo tune.
  • Chame o construtor da classe ParamGridBuilder() sem argumentos. Salve o resultado como grid.
  • Chame o método .addGrid() em grid com lr.regParam como primeiro argumento e np.arange(0, .1, .01) como segundo argumento. Essa segunda chamada é uma função do módulo numpy (importado as np) que cria uma lista de números de 0 a 0,1, com incrementos de 0,01. Substitua grid pelo resultado.
  • Atualize grid novamente chamando o método .addGrid() uma segunda vez. Crie uma grade para lr.elasticNetParam que inclua apenas os valores [0, 1].
  • Chame o método .build() com grid e 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()
Editar e executar o código