How jubayerrafin/heart-disease-ml works
This repository is a notebook-based heart-disease screening classifier. Its documented workflow loads Cleveland patient data, removes incomplete rows and binarizes disease severity, then splits and scales the data before comparing KNN, Logistic Regression, and Random Forest. It tunes KNN and selects a cost-aware Random Forest threshold to prioritize recall, then reports screening metrics. The README supports these stages and relationships; the notebook itself was not sampled, so internal implementation details and any additional wiring are not asserted.
Main entry points: heart_disease.ipynb Analysis notebook · processed.cleveland.data Cleveland data
Components 9
Data preparation
- Cleveland data
processed.cleveland.data - Clean and label
heart_disease.ipynb - Split and scale
heart_disease.ipynb
Modeling
- Compare models
heart_disease.ipynb - Tune KNN
heart_disease.ipynb
Screening evaluation
- Tune threshold
heart_disease.ipynb - Screening metrics
heart_disease.ipynb
Other components
- Notebook user
- Analysis notebook
heart_disease.ipynb
Connections 15
- Notebook user → Analysis notebook: runs
- Analysis notebook → Cleveland data: reads
- Analysis notebook → Clean and label: prepares
- Cleveland data → Clean and label: provides rows
- Analysis notebook → Split and scale: splits and scales
- Clean and label → Split and scale: provides labeled data
- Analysis notebook → Compare models: compares
- Split and scale → Compare models: provides split data
- Analysis notebook → Tune KNN: cross-validates
- Split and scale → Tune KNN: provides training data
- Analysis notebook → Tune threshold: selects threshold
- Compare models → Tune threshold: provides Random Forest
- Analysis notebook → Screening metrics: evaluates
- Compare models → Screening metrics: provides predictions
- Tune threshold → Screening metrics: provides decision rule