Flask REST API which predicts probability of Coronary Heart Disease in a patient taking 9 parameters based on patient's history as input.
The API uses a Logistic Regression Model from scikit-learn trained on the Framingham Heart Study Dataset from Kaggle.
The model achieved a test accuracy of around 88%.
It is deployed on Heroku here.
View the Jupyter notebook here
-
Takes 9 paramteres as input
-
Returns a binary prediction (0 or 1) and probability as well.
https://heartapi.herokuapp.com/predict?age=31&sex=1&cigs=5&chol=230&sBP=280&dia=0&dBP=90&gluc=87&hRate=84
{ "data":{ "age":"31", "cigsPerDay":"5", "diaBP":"90", "diabetes":"0", "glucose":"87", "heartRate":"84", "sex":"1", "sysBP":"280", "totChol":"230" }, "prediction":[ 1 ], "probability":[ [ 0.4587093009776524, 0.5412906990223476 ] ] }
-
Returns the model details such as intercept and coefficients.
https://heartapi.herokuapp.com/model
-
Clone the repository
git clone https://github.com/agoel00/HeartDiseasePredictionAPI.git cd HeartDiseasePredictionAPI
-
Install dependencies
pip install requirements.txt
-
Start the Flask server
python3 app.py
A PWA which communicates with this API is deployed here
MIT