Grid search
Onthoud dat we in de vorige les een baseline Gradient Boosting-model hebben gemaakt. Je doel is nu om de beste max_depth-hyperparameterwaarde voor dit Gradient Boosting-model te vinden. Deze hyperparameter beperkt het aantal knopen in elke individuele boom. Je gebruikt K-fold cross-validatie om de lokale prestatie van het model voor elke hyperparameterwaarde te meten.
Je krijgt een functie get_cv_score() die de trainingsgegevensset en een dictionary met modelparameters als argumenten neemt en de totale validatie-RMSE-score over 3-fold cross-validatie teruggeeft.
Deze oefening maakt deel uit van de cursus
Een Kaggle-competitie winnen met Python
Oefeninstructies
- Specificeer het raster voor mogelijke
max_depth-waarden met 3, 6, 9, 12 en 15. - Geef elke hyperparameterkandidaat in het raster door aan de
params-dictionary van het model.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)