En gradientboostingmodell
Nu ska vi träna en gradientboostingmodell (GB). Det har sagts att en linjär modell är som en Toyota Camry, medan GB är som en Black Hawk-helikopter. GB har potential att överträffa slumpskogar, men gör det inte alltid. Det kallas no free lunch-teoremet – vilket innebär att vi alltid bör prova många olika modeller för varje problem.
GB liknar slumpskogsmodeller, men skillnaden är att träden byggs i följd. För varje iteration anpassas nästa träd till residualfelen från det föregående trädet för att förbättra anpassningen.
Tills vidare söker vi inte igenom hyperparametrarna – det har redan gjorts åt dig.
Den här övningen är en del av kursen
Maskininlärning för finans i Python
Övningsinstruktioner
- Skapa ett
GradientBoostingRegressor-objekt med de hyperparametrar som redan är inställda åt dig. - Träna
gbr-modellen påtrain_featuresochtrain_targets. - Skriv ut resultaten för tränings- och testdata med tillhörande mål.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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))
____