A supervised machine learning pipeline evaluating multiple classification algorithms for early detection and risk stratification of cardiovascular heart disease using clinical and demographic patient datasets.
Cardiovascular disease remains one of the leading global causes of mortality. Early identification of high-risk patients enables targeted clinical interventions and preventive care regimens. This project benchmarks various machine learning classifiers across the Framingham Heart Study dataset and clinical cardiac telemetry to determine optimal recall and precision tradeoffs.
- Data Preprocessing & Imputation: Handles missing biometric observations, outlier detection, and feature standard scaling across systolic blood pressure, cholesterol, BMI, glucose, and lifestyle markers.
- Exploratory Data Analysis (EDA): Correlation heatmaps, feature distribution skewness, and class imbalance mitigation using SMOTE.
- Model Evaluation & Benchmarking:
- Logistic Regression
- Support Vector Machines (SVM)
- Random Forest Classifier
- Decision Trees
- Gradient Boosting (XGBoost)
- Performance Metrics: Compares models based on ROC-AUC curves, precision-recall trade-offs, and confusion matrices to minimize false negatives in cardiac risk detection.
MachineLearningProject/
├── data/
│ ├── framingham.csv # Framingham Heart Study demographic and clinical dataset
│ └── heart.csv # Clinical cardiac observations dataset
├── docs/
│ ├── FinalProject_Machine_Learning_Report.pdf # Comprehensive technical report
│ ├── Monitoring_Trust_in_Human-Machine_Interactions_for.pdf # Human-AI trust analysis
│ ├── PPT2_Final.pptx # Final project presentation deck
│ └── TEAM7_ML_PROJECT_PROPOSAL.pptx # Project proposal and milestones
├── notebooks/
│ ├── Project_Final_1.0.ipynb # Initial data exploration, cleaning, and baseline models
│ └── Project_Final_3.0.ipynb # Tuned model ensembles, SMOTE analysis, and ROC evaluations
├── src/
│ └── Group_6_Code_Prediction_Prevention_Heart_Disease.py # End-to-end Python script
├── .gitignore # Checkpoints, pycache, and OS ignore rules
├── LICENSE # MIT License
└── README.md # Case-study documentation and pipeline overview
- Python 3.8+
- Jupyter Notebook or JupyterLab
-
Clone the repository:
git clone https://github.com/Siddhesh-Bhande/MachineLearningProject.git cd MachineLearningProject -
Install dependencies:
pip install numpy pandas scikit-learn matplotlib seaborn jupyter imbalanced-learn
-
Launch Jupyter:
jupyter notebook notebooks/Project_Final_3.0.ipynb
Full experimental methodologies, comparative tables, and confusion matrices are documented in docs/FinalProject_Machine_Learning_Report.pdf.
This project is licensed under the MIT License - see the LICENSE file for details.