Prova diverse profondità massime
Vogliamo sempre ottimizzare i nostri modelli di Machine Learning per ottenere previsioni quanto più accurate possibile. Possiamo farlo regolando gli iperparametri, ovvero le impostazioni dei nostri modelli. Vedremo più nel dettaglio quanto siano utili nei prossimi capitoli; per ora pensali come manopole che possiamo girare per migliorare le previsioni.
Per i normali decision trees, probabilmente l'iperparametro più importante è max_depth. Limita il numero di suddivisioni (split) in un albero decisionale. Troviamo il valore migliore di max_depth in base allo score R\(^2\) del nostro modello sul set di test, che possiamo ottenere usando il metodo score() dei nostri modelli di alberi decisionali.
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Fai un ciclo sui valori 3, 5 e 10 da usare come parametro
max_depthnel nostro modello ad albero decisionale. - Imposta il parametro
max_depthdel nostro DecisionTreeRegressor uguale adin ogni iterazione del ciclo. - Stampa lo score del modello su
train_featuresetrain_targets.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
# Loop through a few different max depths and check the performance
for d in [____]:
# Create the tree and fit it
decision_tree = DecisionTreeRegressor(____)
decision_tree.fit(train_features, train_targets)
# Print out the scores on train and test
print('max_depth=', str(d))
print(decision_tree.score(____))
print(decision_tree.score(test_features, test_targets), '\n')