{
 "created_utc": "2026-09-30T13:24:58+00:00",
 "model": "LogisticRegression (L1, C=0.3) inside preprocessing pipeline",
 "trained_on_rows": 736,
 "random_state": 42,
 "features": [
  "age",
  "trestbps",
  "chol",
  "thalch",
  "oldpeak",
  "sex",
  "cp",
  "restecg",
  "fbs",
  "exang"
 ],
 "threshold": 0.38828193438013014,
 "threshold_low_band": 0.24467766128077445,
 "target_recall": 0.9,
 "threshold_rule": "highest threshold that still catches at least 90% of true cases in training cross-validation (out-of-fold predictions)",
 "risk_bands": {
  "Low": "p < threshold_low_band",
  "Moderate": "threshold_low_band <= p < threshold",
  "High": "p >= threshold"
 },
 "metrics_test": {
  "auc": 0.8715925394548063,
  "avg_precision": 0.8911054764237094,
  "recall": 0.8823529411764706,
  "precision": 0.7758620689655172,
  "specificity": 0.6829268292682927
 },
 "metrics_cv_oof": {
  "auc": 0.8777473245558353,
  "recall": 0.9017199017199017,
  "precision": 0.7726315789473684
 },
 "libraries": {
  "python": "3.14.3",
  "scikit-learn": "1.9.1",
  "pandas": "3.0.6",
  "numpy": "2.5.3",
  "shap": "0.52.0",
  "xgboost": "3.4.1",
  "joblib": "1.6.0",
  "platform": "macOS-26.6.2-arm64-arm-64bit-Mach-O"
 },
 "disclaimer": "Educational demo, not a medical device.",
 "data_version": "2026-09-30-899a98fc"
}