An end-to-end learning project: explore clinical features, compare classifiers, and serve the selected pipeline through Streamlit.
The notebook visualizes relationships between heart-disease labels and age, sex, chest-pain type, cholesterol, and other measurements. It encodes categorical values, standardizes numerical features, and compares Logistic Regression, Gaussian Naive Bayes, Decision Tree, SVM, and K-Nearest Neighbors. The Streamlit app loads the committed KNN model, scaler, and feature schema for interactive predictions.
flowchart LR
CSV["heart.csv"] --> EDA["EDA + preprocessing"]
EDA --> SPLIT["train/test split"]
SPLIT --> MODELS["5 classifier comparison"]
MODELS --> ART["model + scaler + columns"]
ART --> APP["Streamlit app"]
git clone https://github.com/ReaperXD67/heart-eda.git
cd heart-eda
python -m venv .venv
pip install -r requirements.txt
streamlit run app.pyOpen Untitled.ipynb to reproduce the EDA and model comparison.
| Artifact | Role |
|---|---|
heart.csv |
Input dataset |
Untitled.ipynb |
EDA, preprocessing, and model comparison |
knn_model.pkl |
Serialized classifier used by the app |
scaler.pkl |
Serialized numerical transformer |
model_columns.pkl |
Expected inference feature order |
app.py |
Streamlit inference UI |
Caution
This project is educational and is not a medical device. A prediction is not a diagnosis and must not be used to delay or replace professional care. The repository does not provide external clinical validation, calibration analysis, subgroup fairness evaluation, or deployment monitoring.