Explainable Logistic Regression for Heart Disease Risk Prediction in Community and Clinical Populations: Development and External Validation Study (Preprint)
Bibliographic record
Abstract
BACKGROUND: Heart disease is a leading cause of morbidity and mortality worldwide. Although machine learning models can achieve strong predictive performance, their limited interpretability hampers clinical adoption. Logistic regression is transparent but is often perceived as less accurate than complex ensemble models. OBJECTIVE: To develop an explainable logistic regression model (SHAP-LR) for heart disease risk prediction using routinely available clinical variables and to evaluate its performance across community survey data, public clinical datasets, and a hospital cohort, in comparison with machine learning models and the Framingham Risk Score (FRS). METHODS: We used the 2015 Behavioral Risk Factor Surveillance System (BRFSS; 253,680 adults, 9.4% with self-reported heart disease) for model development. To benchmark machine learning methods, we trained baseline models on the full UCI Heart Disease dataset (n=920) and the Statlog Heart Disease dataset (n=270). The final SHAP-LR model itself was developed exclusively on BRFSS data. External validation of SHAP-LR was performed on the Cleveland subset of the UCI Heart Disease database (n=303), where SHAP-LR was benchmarked against FRS for discrimination and calibration. RESULTS: In BRFSS, older age and cardiometabolic risk factors were strongly associated with heart disease. Across the UCI, Statlog, and BRFSS datasets, SHAP-LR achieved AUROCs of approximately 0.73, 0.64, and 0.80, with performance comparable to or slightly better than more complex tree-based models. In the external cohort, SHAP-LR showed overall similar discrimination to FRS. Apparent calibration, as judged by Brier scores and calibration plots, was more favorable for SHAP-LR in this high-prevalence hospital sample, but this likely reflects the use of class-weighted training in BRFSS and the mismatch between a prevalence model and a 10-year incidence risk score; these calibration differences should therefore be interpreted with caution. Subgroup analyses indicated that FRS achieved higher AUROC than SHAP-LR in some high-risk groups, including patients with diabetes or hypertension. In the BRFSS test set, the corrected SHAP-LR integer score defined three strata with observed event rates of approximately 1.1%, 4.1%, and 17.1%; mean predicted probabilities were approximately 9.3%, 26.2%, and 60.7%, indicating effective risk ranking but substantial overestimation of absolute risk in the low-risk group. CONCLUSIONS: We developed and validated an explainable logistic regression model for heart disease risk prediction that balances predictive performance and transparency. By modeling age as a continuous predictor, comparing against multiple machine learning models, and using FRS as an external benchmark in a hospital cohort, SHAP-LR demonstrates a simple, interpretable framework for prevalent heart disease risk prediction in community and clinical datasets. However, FRS outperformed SHAP-LR in some high-risk strata, and raw SHAP-LR probabilities require local recalibration before being used for absolute risk estimation, particularly in low-prevalence populations. Prospective studies and additional external validations will be needed before SHAP-LR can be considered for routine individualized cardiovascular risk assessment.
Fetched live from OpenAlex and de-inverted. Abstracts are not stored in this database: the inverted indexes are 8.6 GB of the frame’s 9.3 GB of text, and the host has 13 GB free.
How this classification was reachedexpand
Full frame machine prediction
Teacher imitationNot calibrated prevalence, not ground truth. Human validation pending. The Gemma side is a direct model label for every work in the frame, read from the title-only record. The Codex side is a classifier learned from the 10,348 direct Codex labels and calibrated to design-weighted sample rates; fields without enough sample support carry no Codex call. Candidate is the union of the two sides; consensus is their intersection. These outputs are machine_predicted_unvalidated and are not human labels.
Distilled classifier scores by category (both heads)
| Category | Codex | Gemma |
|---|---|---|
| Metaresearch | 0.030 | 0.037 |
| Meta-epidemiology (narrow) | 0.001 | 0.000 |
| Meta-epidemiology (broad) | 0.001 | 0.002 |
| Bibliometrics | 0.001 | 0.001 |
| Science and technology studies | 0.000 | 0.001 |
| Scholarly communication | 0.001 | 0.001 |
| Open science | 0.002 | 0.002 |
| Research integrity | 0.001 | 0.002 |
| Insufficient payload (model declined to judge) | 0.002 | 0.001 |
Machine scores (provisional)
The two teacher heads of the student model, read on this work. A score orders the frame for review; it never asserts a category, and the validation status ships verbatim with every row.
Baseline scores from an immature model (maturity gate not passed, 7 training rounds). Scores rank; they never assert a category.
score_only:v0-immature-baseline · verbatim from the scoring run: score_only means the number may rank works, and no category label ships from itClassification
machine, unvalidatedMachine predicted; a candidate call from one source (direct Gemma or distilled Codex), not a consensus.
How this classification was reached, model by model and score by score, is at the end of the page under "How this classification was reached".