Machine Learning / Data Science

Heart Disease Risk Prediction Machine Learning Pipeline

Preventative cardiovascular risk indicator evaluation pipeline implementing statistical preprocessing, Scikit-Learn estimators, and interactive risk scoring.

Hosted on Render free tier (may take ~20s to wake up on initial request).

Problem Statement

Early screening of cardiovascular disease risk markers allows healthcare analysts and practitioners to prioritize lifestyle interventions and specialist consultations before severe symptoms emerge. This engineering project focuses on exploratory data analysis and predictive model benchmarking.

Methodology & Implementation

Implemented an end-to-end supervised machine learning classification pipeline. The workflow encompasses outlier detection, median imputation for missing biometric markers, feature standard scaling (StandardScaler), and train-test stratification. Multiple binary classifiers (Logistic Regression, Random Forest, and Support Vector Classifiers) were cross-validated and evaluated using precision, recall, and ROC-AUC metrics.

Technical Architecture Highlights

  • Exploratory data analysis identifying correlation heatmaps among age, blood pressure, cholesterol, and maximum heart rate
  • Robust data preprocessing pipeline handling categorical encoding and numerical feature scaling
  • Comparative estimator benchmarking across linear, ensemble, and margin-based classification algorithms
  • Interactive risk parameter calculator web application allowing customized feature input evaluation

Results & Evaluation

01.Rigorous model evaluation achieving strong ROC-AUC discrimination across cross-validation folds
02.Clear identification of leading risk factor weightings via feature importance analysis
03.Functional interactive web application deployed live on Render with instant scoring response
04.Educational disclaimer strictly framing the tool as a predictive engineering study rather than a diagnostic device

Technologies & Tools

#Python#Scikit-Learn#Pandas#NumPy#Matplotlib#Streamlit#Render