CommencerCommencer gratuitement

Mesurer la précision

Vous allez vous entraîner à utiliser l’API d’apprentissage de XGBoost via ses fonctionnalités intégrées de validation croisée. Comme Sergey l’a expliqué dans la vidéo précédente, XGBoost doit ses excellentes performances et gains d’efficacité à sa structure de données optimisée, appelée DMatrix.

Dans l’exercice précédent, les jeux de données d’entrée ont été convertis à la volée en DMatrix, mais lorsque vous utilisez l’objet cv de xgboost, vous devez d’abord convertir explicitement vos données en DMatrix. C’est ce que vous allez faire ici avant d’exécuter la validation croisée sur churn_data.

Cet exercice fait partie du cours

Extreme Gradient Boosting avec XGBoost

Afficher le cours

Instructions

  • Créez une DMatrix appelée churn_dmatrix à partir de churn_data en utilisant xgb.DMatrix(). Les variables explicatives sont dans X et les étiquettes dans y.
  • Effectuez une validation croisée en 3 plis en appelant xgb.cv(). dtrain est votre churn_dmatrix, params est votre dictionnaire de paramètres, nfold est le nombre de plis de validation croisée (3), num_boost_round est le nombre d’arbres à construire (5), metrics est la métrique que vous souhaitez calculer (ici "error", que nous convertirons en précision).

Exercice interactif pratique

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

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

# Create the DMatrix from X and y: churn_dmatrix
churn_dmatrix = ____(data=____, label=____)

# Create the parameter dictionary: params
params = {"objective":"reg:logistic", "max_depth":3}

# Perform cross-validation: cv_results
cv_results = ____(dtrain=____, params=____, 
                  nfold=____, num_boost_round=____, 
                  metrics="____", as_pandas=____, seed=123)

# Print cv_results
print(cv_results)

# Print the accuracy
print(((1-cv_results["test-error-mean"]).iloc[-1]))
Modifier et exécuter le code