Grid search
I föregående lektion skapade vi en grundläggande Gradient Boosting-modell. Nu är målet att hitta det bästa hyperparametervärdet för max_depth i den modellen. Den här hyperparametern begränsar antalet noder i varje enskilt träd. Du använder K-faldig korsvalidering för att mäta modellens lokala prestanda för varje hyperparametervärde.
Du får en funktion, get_cv_score(), som tar träningsdatamängden och en ordlista med modellparametrar som argument och returnerar det övergripande RMSE-värdet för 3-faldig korsvalidering.
Den här övningen är en del av kursen
Vinna en Kaggle-tävling i Python
Övningsinstruktioner
- Ange ett rutnät med möjliga värden för
max_depth: 3, 6, 9, 12 och 15. - Skicka varje hyperparameterkandidat i rutnätet till modellens ordlista
params.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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)