Ein Gradient-Boosting-Modell
Jetzt trainieren wir ein Gradient-Boosting-(GB)-Modell. Man sagt, ein lineares Modell ist wie ein Toyota Camry, und GB ist wie ein Black-Hawk-Helikopter. GB kann Random Forests übertreffen, tut das aber nicht immer. Das nennt man den No-Free-Lunch-Theorem: Wir sollten für jedes Problem möglichst viele verschiedene Modelle ausprobieren.
GB ähnelt Random-Forest-Modellen, aber der Unterschied ist, dass die Bäume nacheinander aufgebaut werden. In jeder Iteration passt der nächste Baum die Residualfehler des vorherigen Baums an, um die Anpassung zu verbessern.
Wir suchen die Hyperparameter jetzt nicht — sie wurden bereits für dich ermittelt.
Diese Übung ist Teil des Kurses
<Kurs>Maschinelles Lernen für Finanzen in Python</Kurs>Übungsanweisungen
- Erzeuge ein
GradientBoostingRegressor-Objekt mit den bereits für dich gesetzten Hyperparametern. - Fitte das
gbr-Modell auftrain_featuresundtrain_targets. - Gib die Scores für die Trainings- und Test-Features sowie -Targets aus.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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))
____