pythonintermediate
XGBoost with Early Stopping and SHAP
Train an XGBoost model with early stopping and explain predictions using native SHAP integration.
pythonPress ⌘/Ctrl + Shift + C to copy
import xgboost as xgb
import numpy as np
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
X, y = make_classification(n_samples=1000, n_features=20, random_state=42)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2)
X_tr, X_val, y_tr, y_val = train_test_split(X_train, y_train, test_size=0.1)
dtrain = xgb.DMatrix(X_tr, label=y_tr)
dval = xgb.DMatrix(X_val, label=y_val)
dtest = xgb.DMatrix(X_test)
params = {'objective':'binary:logistic', 'max_depth': 5, 'eta': 0.1, 'eval_metric': 'auc'}
model = xgb.train(params, dtrain, num_boost_round=500, evals=[(dval,'val')], early_stopping_rounds=20, verbose_eval=50)
# SHAP values
shap_values = model.predict(dtest, pred_contribs=True)
print('Feature importance via SHAP:', np.abs(shap_values[:,:-1]).mean(axis=0).argsort()[::-1][:5])Use Cases
- classification
- SHAP explanations
- early stopping
Tags
Related Snippets
Similar patterns you can reuse in the same workflow.
pythonintermediate
SHAP Model Explainability in Python
Explain ML model predictions globally and locally using SHAP values with tree-based models.
Best for: model interpretability
#shap#explainability
pythonintermediate
CatBoost Gradient Boosting Training
Train a CatBoost model with automatic categorical feature handling and built-in cross-validation.
Best for: categorical ML
#catboost#gradient-boosting
pythonintermediate
LightGBM Feature Importance Analysis
Train a LightGBM model and analyse feature importance using split, gain, and permutation methods.
Best for: feature selection
#lightgbm#feature-importance
pythonintermediate
Xgboost Advanced
Data science technique: xgboost-advanced
Best for: machine learning
#data#machine-learning