Customer Churn - Gradient Boosting (CMPE-257)
Best gradient-boosted tree model for the Kaggle Playground S6E3 telecom churn task (~594K rows), trained on the project's frozen preprocessing + identical stratified folds (NB02/NB03) so it is comparable like-for-like with the other model families.
- Backend: xgboost
- CV ROC-AUC (5-fold): 0.9147
- Tuned params:
{'n_estimators': 200, 'max_depth': 3, 'learning_rate': 0.09268004349925295, 'subsample': 0.9383178252154715, 'colsample_bytree': 0.768945051845007} - Features: 74 columns from the frozen preprocessor
Load and predict
import joblib
# Try the Hub first; fall back to the local / Google Drive copy when offline.
try:
from huggingface_hub import hf_hub_download
model_path = hf_hub_download("NathanSJSU01/xgboost_churn_detection", "model_gradient_boosting.joblib")
except Exception:
model_path = "/content/drive/MyDrive/CMPE_257_Machine Learning_Shared/models/xgboost_churn/model_gradient_boosting.joblib"
model = joblib.load(model_path)
# churn_proba = model.predict_proba(X)[:, 1]
X must use the same column order as feature_names.json.