ComeçarComece de graça

Busca em grade

Lembre-se de que criamos um modelo básico de Gradient Boosting na lição anterior. Seu objetivo agora é encontrar o melhor valor do hiperparâmetro max_depth para esse modelo de Gradient Boosting. Esse hiperparâmetro limita o número de nós em cada árvore individual. Você vai usar validação cruzada K-fold para medir o desempenho local do modelo para cada valor de hiperparâmetro.

Você tem à disposição a função get_cv_score(), que recebe o conjunto de dados de treino e um dicionário com os parâmetros do modelo como argumentos e retorna o RMSE de validação geral em uma validação cruzada com 3 folds.

Este exercício faz parte do curso

Vencendo uma competição do Kaggle em Python

Ver curso

Instruções do exercício

  • Especifique a grade com os possíveis valores de max_depth: 3, 6, 9, 12 e 15.
  • Passe cada candidato de hiperparâmetro na grade para o dicionário params do modelo.

Exercício interativo prático

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

# Possible max depth values
max_depth_grid = [____]
results = {}

# For each value in the grid
for max_depth_candidate in max_depth_grid:
    # Specify parameters for the model
    params = {'max_depth': ____}

    # Calculate validation score for a particular hyperparameter
    validation_score = get_cv_score(train, params)

    # Save the results for each max depth value
    results[max_depth_candidate] = validation_score   
print(results)
Editar e executar o código