Arbres de décision comme apprenants de base
Il est temps de construire un modèle XGBoost pour prédire les prix des maisons — non pas à Boston (Massachusetts) comme dans la vidéo, mais à Ames (Iowa) ! Ce jeu de données sur les prix de l’immobilier a été préchargé dans un DataFrame nommé df. Si vous l’explorez dans le terminal, vous verrez qu’il contient diverses caractéristiques sur la maison et sa localisation dans la ville.
Dans cet exercice, votre objectif est d’utiliser des arbres comme apprenants de base. Par défaut, XGBoost utilise des arbres comme apprenants de base ; vous n’avez donc pas besoin de préciser que vous voulez des arbres ici avec booster="gbtree".
xgboost a été importé sous le nom xgb et les tableaux pour les variables explicatives et la cible sont disponibles respectivement dans X et y.
Cet exercice fait partie du cours
Extreme Gradient Boosting avec XGBoost
Instructions
- Scindez
dfen jeux d’entraînement et de test, en réservant 20 % pour le test. Utilisez unrandom_statede123. - Instanciez
XGBRegressorsous le nomxg_reg, avec unseedde123. Spécifiez un objectif"reg:squarederror"et utilisez 10 arbres. Remarque : vous n’avez pas besoin d’indiquerbooster="gbtree", c’est la valeur par défaut. - Ajustez
xg_regsur les données d’entraînement et prédisez les étiquettes du jeu de test. Enregistrez les prédictions dans une variable appeléepreds. - Calculez la
rmseavecnp.sqrt()et la fonctionmean_squared_error()desklearn.metrics, déjà importée.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Create the training and test sets
X_train, X_test, y_train, y_test = ____(____, ____, ____=____, random_state=123)
# Instantiate the XGBRegressor: xg_reg
xg_reg = ____
# Fit the regressor to the training set
____
# Predict the labels of the test set: preds
preds = ____
# Compute the rmse: rmse
rmse = ____(____(____, ____))
print("RMSE: %f" % (rmse))