ComeçarComece de graça

Configurando parâmetros do GridSearch

Um hiperparâmetro é um parâmetro dentro de uma função. Por exemplo, max_depth ou min_samples_leaf são hiperparâmetros da função DecisionTreeClassifier(). A otimização de hiperparâmetros é o processo de testar diferentes valores de hiperparâmetros para encontrar os ideais: aqueles que geram as melhores previsões de acordo com seus objetivos. No sklearn, você pode usar o GridSearch para testar diferentes combinações de hiperparâmetros. Melhor ainda, você pode usar o GridSearchCV() para testar diferentes combinações e executar validação cruzada nelas em uma única função!

Neste exercício, você vai preparar os diferentes valores que deseja testar para max_depth e min_samples_leaf. Depois, vai colocá-los em um dicionário, porque é isso que o GridSearchCV() exige:

  • as chaves do dicionário serão os nomes dos hiperparâmetros
  • os valores do dicionário serão os atributos (os valores dos hiperparâmetros) que você quer testar

Em vez de escrever todos os valores manualmente, você vai usar a função range(), que permite gerar valores incrementalmente. Por exemplo, range(1, 10, 2) vai gerar uma lista contendo valores de 1 (incluído) até 10 (não incluído), com incrementos de 2. Então o resultado final será [1, 3, 5, 7, 9].

Este exercício faz parte do curso

HR Analytics: prevendo rotatividade de funcionários em Python

Ver curso

Instruções do exercício

  • Seguindo o formato do exemplo acima, gere valores para a profundidade máxima variando de 5 a 20 com incrementos de 1
  • Faça o mesmo para o tamanho mínimo da folha com valores de 50 a 450 com incrementos de 50
  • Crie o dicionário especificando os valores de max_depth e min_samples_leaf a serem testados, usando as variáveis que você acabou de criar

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]

# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]

# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)
Editar e executar o código