Downloads · 30 days
0
Sushantak17/MedIntel-clinical-risk-models
MedIntel-clinical-risk-models is a tabular classification model from Sushantak17. Use it for the tabular classification task on the model card, and read the license before you ship it in a product. It is set up for xgboost. The card lists the license as mit.
Three calibrated XGBoost models for predicting risk of Diabetes, Chronic Kidney Disease (CKD), and Anemia from standard laboratory blood tests.
Downloads · 30 days
0
Access
Public
Updated Jul 6, 2026
Repo size
9.1 MB
Likes
0
Public
Click a slice to open those files.
.joblib9.1 MB · 100%
From the Hugging Face model README
Three calibrated XGBoost models for predicting risk of Diabetes, Chronic Kidney Disease (CKD), and Anemia from standard laboratory blood tests.
| 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 | — |
import joblib
import numpy as np
# Load calibrated model
data = joblib.load("calibrator_diabetes.joblib")
model = data["calibrated_model"]
features = data["features"]
# 35-feature input vector (13 base + 22 trend features)
# Base: age, sex_encoded, bmi, hba1c, creatinine, albumin, egfr,
# wbc, rbc, hemoglobin, hematocrit, systolic_bp, diastolic_bp
# Trend: {param}_slope, {param}_delta for each lab parameter
X = np.array([[50, 0, 31.4, 8.2, 1.0, 4.0, 91.7, 7.2, 4.9, 14.5, 43.0, 142, 88,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
prob = model.predict_proba(X)[:, 1]
print(f"Diabetes risk: {prob[0]:.1%}") # ~94%
import shap
raw = joblib.load("xgb_diabetes.joblib")
explainer = shap.TreeExplainer(raw["model"])
shap_values = explainer.shap_values(X)
# Positive SHAP = pushes toward high risk
# Negative SHAP = pushes toward low risk
| Diabetes | CKD | Anemia |
|---|---|---|
| HbA1c | eGFR | Hemoglobin |
| Age | RBC | Hematocrit |
| BMI | BMI | Sex |
| Creatinine | Creatinine | Albumin |
| WBC | Age | RBC |
Fully reproducible 9-step pipeline in the MedIntel repository:
@software{medintel2026,
title={MedIntel: AI-Powered Clinical Risk Intelligence Platform},
author={Jha, Sushantak Parashar},
year={2026},
url={https://github.com/Sushantak17/MedIntel}
}