Views
No views yet
| Property | Value |
|---|---|
| Algorithm | XGBoost (Gradient Boosting) |
| Calibration | Platt Scaling (CalibratedClassifierCV) |
| Features | 35 (13 base + 22 trend) |
| Training Data | NHANES 2017-2018 (~5,000 adults) |
| Explainability | SHAP TreeExplainer |
| Framework | scikit-learn, XGBoost, joblib |
| Model | AUROC | Brier | F1 | Threshold |
|---|---|---|---|---|
| Diabetes | 1.0000 | 0.0077 | 0.9918 | 0.402 |
| CKD | 0.9999 | 0.0026 | 0.9962 | 0.465 |
| Anemia | 1.0000 | 0.0010 | 0.9981 | 0.892 |
| File | Description | Size |
|---|---|---|
xgb_diabetes.joblib | Raw XGBoost diabetes model | ~563 KB |
xgb_ckd.joblib | Raw XGBoost CKD model | ~449 KB |
xgb_anemia.joblib | Raw XGBoost anemia model | ~279 KB |
calibrator_diabetes.joblib | Platt-calibrated diabetes model | ~3.3 MB |
calibrator_ckd.joblib | Platt-calibrated CKD model | ~2.6 MB |
calibrator_anemia.joblib | Platt-calibrated anemia model | ~1.7 MB |
evaluation_report.txt | Full evaluation metrics | — |
1import joblib
2import numpy as np
3
4# Load calibrated model
5data = joblib.load("calibrator_diabetes.joblib")
6model = data["calibrated_model"]
7features = data["features"]
8
9# 35-feature input vector (13 base + 22 trend features)
10# Base: age, sex_encoded, bmi, hba1c, creatinine, albumin, egfr,
11# wbc, rbc, hemoglobin, hematocrit, systolic_bp, diastolic_bp
12# Trend: {param}_slope, {param}_delta for each lab parameter
13X = np.array([[50, 0, 31.4, 8.2, 1.0, 4.0, 91.7, 7.2, 4.9, 14.5, 43.0, 142, 88,
14 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
15
16prob = model.predict_proba(X)[:, 1]
17print(f"Diabetes risk: {prob[0]:.1%}") # ~94%1import shap
2
3raw = joblib.load("xgb_diabetes.joblib")
4explainer = shap.TreeExplainer(raw["model"])
5shap_values = explainer.shap_values(X)
6# Positive SHAP = pushes toward high risk
7# Negative SHAP = pushes toward low risk| Diabetes | CKD | Anemia |
|---|---|---|
| HbA1c | eGFR | Hemoglobin |
| Age | RBC | Hematocrit |
| BMI | BMI | Sex |
| Creatinine | Creatinine | Albumin |
| WBC | Age | RBC |
1@software{medintel2026,
2 title={MedIntel: AI-Powered Clinical Risk Intelligence Platform},
3 author={Jha, Sushantak Parashar},
4 year={2026},
5 url={https://github.com/Sushantak17/MedIntel}
6}