Welcome to this repository. The notebook in this repository will analyze the dataset downloaded from this Kaggle page and build a classification model to predict whether a person have heart disease or not base on his/her medical status. A patient's medical status includes:
- age: age in years
- sex (1 = male; 0 = female)
- cp - chest pain type (4 values)
- Value 0: typical angina
- Value 1: atypical angina
- Value 2: non-anginal pain
- Value 3: asymptomatic
- trestbps: resting blood pressure (in mm Hg on admission to the hospital)
- chol - serum cholestoral in mg/dl
- fbs - fasting blood sugar > 120 mg/dl (1 = true; 0 = false)
- restecg - resting electrocardiographic results (values 0,1,2)
- Value 0: normal
- Value 1: having ST-T wave abnormality (T wave inversions and/or ST elevation or depression of > 0.05 mV)
- Value 2: showing probable or definite left ventricular hypertrophy by Estes' criteria
- thalach - maximum heart rate achieved
- exang - exercise induced angina (1 = yes; 0 = no)
- oldpeak - ST depression induced by exercise relative to rest
- slope - the slope of the peak exercise ST segment
- Value 0: upsloping
- Value 1: flat
- Value 2: downsloping
- ca - number of major vessels (0-3) colored by flourosopy
- thal - 0 = normal; 1 = fixed defect; 2 = reversable defectage
- target - have heart disease or not (1 = NO heart disease, 0 = HAVE heart disease)
Note: this notebook uses plotly library to plot some graphs. You won't be able to see those graphs if you open this notebook on Github. Instead, please open this notebook in nbviewer
Running window_.py file will open a window for user to input their medical status. This window implements a trained model to predict. The patient's result will return as a popup window telling them whether they have heart disease or not.