How abdelrahman-badawy-utah/nhanes-cvd-risk-prediction works
This is a research-oriented NHANES cardiovascular-risk prediction project with a Streamlit demo. Its principal user flow is entering hypothetical clinical, behavioral, and dietary values, receiving a calibrated risk estimate, and viewing a SHAP explanation. The notebook is the documented analysis and model-production workflow, covering leakage-safe modeling, calibration, and subgroup fairness evaluation. The app excerpt shows its prediction and explanation functions; the notebook’s internal implementation was not sampled, so its analysis stages are represented as documented capabilities rather than inferred code-level calls.
Main entry points: streamlit_app.py Streamlit input and results · CVD_Risk_Prediction.ipynb NHANES risk analysis · best_model_artifact.pkl Trained model artifact · nhanes_cvd_extract.xlsx NHANES extract
Components 9
Analysis and modeling
- NHANES risk analysis
CVD_Risk_Prediction.ipynb - Model evaluation and calibration
CVD_Risk_Prediction.ipynb - Subgroup fairness audit
CVD_Risk_Prediction.ipynb
Interactive risk demo
- Streamlit input and results
app/streamlit_app.py - Calibrated risk prediction
app/streamlit_app.py - SHAP explanation
app/streamlit_app.py
Model and data
- NHANES extract
data/nhanes_cvd_extract.xlsx - Trained model artifact
app/model/best_model_artifact.pkl
Other components
- Hypothetical patient
Connections 10
- NHANES extract → NHANES risk analysis: provides data
README.md - NHANES risk analysis → Model evaluation and calibration: evaluates models
README.md - NHANES risk analysis → Subgroup fairness audit: audits subgroups
README.md - NHANES risk analysis → Trained model artifact: saves trained model
README.md - Hypothetical patient → Streamlit input and results: enters values
README.md - Streamlit input and results → Trained model artifact: loads model
app/streamlit_app.py - Streamlit input and results → Calibrated risk prediction: calls prediction
app/streamlit_app.py - Calibrated risk prediction → Streamlit input and results: returns risk
app/streamlit_app.py - Streamlit input and results → SHAP explanation: requests explanation
app/streamlit_app.py - SHAP explanation → Streamlit input and results: returns SHAP values
app/streamlit_app.py