Sathishkumar's picture
Upload app.py
ad6132e
import numpy as np
from flask import Flask, request, jsonify, render_template
import pickle
from sklearn.preprocessing import normalize
app = Flask(__name__)
model = pickle.load(open('model.pkl', 'rb'))
@app.route('/')
def home():
return render_template('index.html')
@app.route('/predict',methods=['POST'])
def predict():
'''
For rendering results on HTML GUI
'''
Age=float(request.form['Age'])
CigsPerDay=float(request.form['CigsPerDay'])
Cholestrol=float(request.form['Cholestrol'])
SysBP=float(request.form['SysBP'])
DIaBP=float(request.form['DIaBP'])
BMI=float(request.form['BMI'])
HeartRate=float(request.form['HeartRate'])
GlucoseLevel=float(request.form['GlucoseLevel'])
Gender=float(request.form['Gender'])
BpMedication=float(request.form['BpMedication'])
PrevalentStroke=float(request.form['PrevalentStroke'])
Smoker=float(request.form['Smoker'])
list_to_be_normalised=np.array([ Age,CigsPerDay, Cholestrol, SysBP,DIaBP, BMI,HeartRate,GlucoseLevel]).reshape(1,-1)
normalized = normalize(list_to_be_normalised)
boolean = [Gender,BpMedication,PrevalentStroke,Smoker]
final_features = np.append(normalized,boolean).reshape(1, -1)
print(final_features)
prediction = model.predict(final_features)
if prediction == 1:
return render_template('problem.html')
else:
return render_template('healthy.html')
# @app.route('/predict_api',methods=['POST'])
# def predict_api():
# '''
# For direct API calls trought request
# '''
# data = request.get_json(force=True)
# prediction = model.predict([np.array(list(data.values()))])
# output = prediction[0]
# return jsonify(output)
if __name__ == "__main__":
app.run(debug=True)