We have used a variety of Machine Learning algorithms, implemented in Python, to predict the presence of heart disease in a patient
This is a classification problem, with input features as a variety of parameters, and the target variable as a binary variable, predicting whether heart disease is present or not
Dataset = heart.csv
It is composed of 14 attributes which are age, sex, chest pain type, resting blood pressure, serum cholesterol, fasting blood sugar, resting electrocardiographic results, maximum heart rate achieved, exercise induced angina, oldpeak — ST depression induced by exercise relative to rest, the slope of the peak exercise ST segment, number of major vessels and Thalassemia (blood disorder)
Dataset columns:
— Value 0: asymptomatic
— Value 1: atypical angina
— Value 2: non-anginal pain
— Value 3: typical angina
— Value 0: showing probable or definite left ventricular hypertrophy by Estes’ criteria
— Value 1: normal
— Value 2: having ST-T wave abnormality (T wave inversions or ST elevation or depression of > 0.05 mV)
- Value 0: downsloping
- Value 1: flat
- Value 2: upsloping
- Value 0: NULL (dropped from the dataset previously)
- Value 1: fixed defect (no blood flow in some part of the heart)
- Value 2: normal blood flow
- Value 3: reversible defect (a blood flow is observed but it is not normal)
- Logistic Regression
- Support Vector Machine (SVM)
- Decision Tree Classification
- Random Forest Classification
Ensemble models like
- XGBoost Classification
- AdaBoost
- Gradient Boosting