Aan de slagGa gratis aan de slag

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

Cursus bekijken

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)
Code bewerken en uitvoeren