Ricerca a griglia
Ricorda che nella lezione precedente abbiamo creato un modello di Gradient Boosting di base. Ora il tuo obiettivo è trovare il valore migliore dell’iperparametro max_depth per questo modello di Gradient Boosting. Questo iperparametro limita il numero di nodi in ciascun albero. Userai la convalida incrociata K-fold per misurare le prestazioni locali del modello per ogni valore dell’iperparametro.
Ti viene fornita una funzione get_cv_score(), che accetta l’insieme di dati di train e un dizionario dei parametri del modello come argomenti e restituisce la RMSE di validazione complessiva su una convalida incrociata a 3 fold.
Questo esercizio fa parte del corso
Vincere una competizione Kaggle con Python
Istruzioni dell'esercizio
- Specifica la griglia dei possibili valori di
max_depthcon 3, 6, 9, 12 e 15. - Passa ciascun candidato iperparametro nella griglia al dizionario
paramsdel modello.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# 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)