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
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
paramsdo 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)