CommencerCommencer gratuitement

Apprenants de base linéaires

Maintenant que vous avez utilisé des arbres comme modèles de base dans XGBoost, utilisons l’autre type de modèle de base disponible : un apprenant linéaire. Ce modèle, bien que moins courant dans XGBoost, permet de créer une régression linéaire régularisée en utilisant la puissante API d’apprentissage d’XGBoost. Cependant, comme il est peu utilisé, vous devez recourir aux fonctions propres à XGBoost, non compatibles scikit-learn, pour construire le modèle, comme xgb.train().

Pour cela, vous devez créer le dictionnaire de paramètres qui décrit le type de booster que vous souhaitez utiliser (de la même manière que vous avez créé le dictionnaire au chapitre 1 lorsque vous avez utilisé xgb.cv()). La paire clé-valeur qui définit le type de booster (modèle de base) dont vous avez besoin est "booster":"gblinear".

Une fois le modèle créé, vous pouvez utiliser les méthodes .train() et .predict() du modèle comme vous l’avez fait précédemment.

Ici, les données ont déjà été séparées en ensembles d’entraînement et de test ; vous pouvez donc passer directement à la création des objets DMatrix requis par l’API d’apprentissage d’XGBoost.

Cet exercice fait partie du cours

Extreme Gradient Boosting avec XGBoost

Afficher le cours

Instructions

  • Créez deux objets DMatrix : DM_train pour l’ensemble d’entraînement (X_train et y_train), et DM_test (X_test et y_test) pour l’ensemble de test.
  • Créez un dictionnaire de paramètres qui définit le type de "booster" que vous allez utiliser ("gblinear") ainsi que l’"objective" que vous allez minimiser ("reg:squarederror").
  • Entraînez le modèle avec xgb.train(). Vous devez spécifier des arguments pour les paramètres suivants : params, dtrain et num_boost_round. Utilisez 5 itérations de boosting.
  • Prédisez les étiquettes sur l’ensemble de test avec xg_reg.predict(), en lui passant DM_test. Assignez à preds.
  • Cliquez sur "Soumettre la réponse" pour voir la RMSE !

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# Convert the training and testing sets into DMatrixes: DM_train, DM_test
DM_train = ____
DM_test =  ____

# Create the parameter dictionary: params
params = {"____":"____", "____":"____"}

# Train the model: xg_reg
xg_reg = ____.____(____ = ____, ____=____, ____=____)

# Predict the labels of the test set: preds
preds = ____

# Compute and print the RMSE
rmse = np.sqrt(mean_squared_error(y_test,preds))
print("RMSE: %f" % (rmse))
Modifier et exécuter le code