|
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')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
app.run(debug=True) |