Un modèle de gradient boosting
Nous allons maintenant ajuster un modèle de gradient boosting (GB). On dit souvent qu'un modèle linéaire, c'est comme une Toyota Camry, et que le GB, c'est comme un hélicoptère Black Hawk. Le GB peut surpasser les forêts aléatoires, mais ce n'est pas toujours le cas. C'est ce qu'on appelle le théorème du « no free lunch », qui signifie qu'il faut essayer plusieurs modèles pour chaque problème.
Le GB ressemble aux modèles de type random forest, mais la différence, c'est que les arbres sont construits de façon successive. À chaque itération, l'arbre suivant ajuste les résidus de l'arbre précédent afin d'améliorer l'ajustement.
Pour l'instant, nous ne chercherons pas les hyperparamètres — cette recherche a déjà été faite pour vous.
Cette activité fait partie du cours
Machine Learning pour la finance en Python
Instructions de l’exercice
- Créez un objet
GradientBoostingRegressoravec les hyperparamètres déjà définis pour vous. - Ajustez le modèle
gbravectrain_featuresettrain_targets. - Affichez les scores pour les caractéristiques et cibles d'entraînement et de test.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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))
____