Búsqueda en cuadrícula
Recuerda que en la lección anterior creamos un modelo base de Gradient Boosting. Ahora tu objetivo es encontrar el mejor valor del hiperparámetro max_depth para este modelo de Gradient Boosting. Este hiperparámetro limita el número de nodos en cada árbol individual. Usarás validación cruzada K-fold para medir el rendimiento local del modelo para cada valor del hiperparámetro.
Tienes una función get_cv_score() que recibe el conjunto de entrenamiento y un diccionario con los parámetros del modelo como argumentos y devuelve el RMSE de validación global sobre una validación cruzada de 3 folds.
Este ejercicio forma parte del curso
Cómo ganar una competición de Kaggle con Python
Instrucciones del ejercicio
- Especifica la cuadrícula de posibles valores de
max_depthcon 3, 6, 9, 12 y 15. - Pasa cada candidato de hiperparámetro de la cuadrícula al diccionario
paramsdel modelo.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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)