CommencerCommencer gratuitement

XGBoost : entraînement/prédiction

Il est temps de créer votre premier modèle XGBoost ! Comme Sergey vous l’a montré dans la vidéo, vous pouvez utiliser le paradigme scikit-learn .fit() / .predict() que vous connaissez déjà pour construire vos modèles XGBoost, car la bibliothèque xgboost propose une API compatible avec scikit-learn.

Ici, vous allez travailler sur des données de churn. Ce jeu de données contient des données fictives issues d’une application de covoiturage : le comportement des utilisateurs pendant leur premier mois d’utilisation dans un ensemble de villes imaginaires, ainsi que l’information sur l’utilisation du service 5 mois après l’inscription. Il a été préchargé pour vous dans un DataFrame nommé churn_data — explorez-le dans le Shell !

Votre objectif est d’utiliser les données du premier mois pour prédire si les utilisateurs de l’application continueront à utiliser le service au bout de 5 mois. C’est une configuration typique d’un problème de prédiction du churn. Pour cela, vous allez scinder les données en ensembles d’entraînement et de test, ajuster un petit modèle xgboost sur l’ensemble d’entraînement et évaluer ses performances sur l’ensemble de test en calculant sa précision.

pandas et numpy ont été importés sous les alias pd et np, et train_test_split a été importé depuis sklearn.model_selection. De plus, les tableaux des variables explicatives et de la cible ont été créés sous les noms X et y.

Cet exercice fait partie du cours

Extreme Gradient Boosting avec XGBoost

Afficher le cours

Instructions

  • Importez xgboost sous l’alias xgb.
  • Créez les ensembles d’entraînement et de test de sorte que 20 % des données soient utilisées pour le test. Utilisez un random_state de 123.
  • Instanciez un XGBoostClassifier sous le nom xg_cl avec xgb.XGBClassifier(). Spécifiez n_estimators à 10 estimateurs et un objective égal à 'binary:logistic'. Ne vous préoccupez pas encore de la signification de ces paramètres, vous les verrez plus tard dans ce cours.
  • Ajustez xg_cl sur l’ensemble d’entraînement (X_train, y_train)) à l’aide de la méthode .fit().
  • Prédisez les étiquettes de l’ensemble de test (X_test) avec la méthode .predict() et cliquez sur "Soumettre la réponse" pour afficher la précision.

Exercice interactif pratique

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

# Import xgboost
____

# Create arrays for the features and the target: X, y
X, y = churn_data.iloc[:,:-1], churn_data.iloc[:,-1]

# Create the training and test sets
X_train, X_test, y_train, y_test= ____(____, ____, test_size=____, random_state=123)

# Instantiate the XGBClassifier: xg_cl
xg_cl = ____.____(____='____', ____=____, seed=123)

# Fit the classifier to the training set
____

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

# Compute the accuracy: accuracy
accuracy = float(np.sum(preds==y_test))/y_test.shape[0]
print("accuracy: %f" % (accuracy))
Modifier et exécuter le code