Un modello di gradient boosting
Ora alleneremo un modello di gradient boosting (GB). Si è detto che un modello lineare è come una Toyota Camry, mentre il GB è come un elicottero Black Hawk. Il GB può superare le prestazioni delle random forest, ma non sempre. Questo è chiamato teorema del no free lunch, il che significa che dovremmo sempre provare molti modelli diversi per ogni problema.
Il GB è simile ai modelli random forest, ma la differenza è che gli alberi vengono costruiti in successione. A ogni iterazione, il prossimo albero si adatta agli errori residui del precedente per migliorare l'adattamento.
Per ora non cercheremo gli iperparametri: li abbiamo già ottimizzati per te.
Questo esercizio fa parte del corso
Machine Learning per la finanza in Python
Istruzioni dell'esercizio
- Crea un oggetto
GradientBoostingRegressorcon gli iperparametri già impostati per te. - Esegui il fit del modello
gbrsutrain_featuresetrain_targets. - Stampa gli score per feature e target di training e di test.
esercizio interattivo pratico
Prova questo esercizio completando questo codice di esempio.
from sklearn.ensemble import GradientBoostingRegressor
# Create GB model -- hyperparameters have already been searched for you
gbr = ____(max_features=4,
learning_rate=0.01,
n_estimators=200,
subsample=0.6,
random_state=42)
gbr.fit(____)
print(gbr.score(train_features, train_targets))
____