PavithraNanjundan/Insurance_Predictor
0
1from flask import Flask, request, jsonify, render_template2import numpy as np3import pandas as pd4import statsmodels.api as sm5import pickle6import waitress7 8app = Flask(__name__)9 10# Load the trained model (Assuming model is saved as 'model.pkl')11with open("model.pkl", "rb") as model_file:12 model = pickle.load(model_file)13 14@app.route("/")15def home():16 return render_template("index.html")17 18@app.route('/predict', methods=['POST'])19def predict():20 try:21 age = request.form.get("age", type=int)22 bmi = request.form.get("bmi", type=float)23 children = request.form.get("children", type=int)24 smoker_yes = request.form.get("smoker_yes", type=int)25 26 df = pd.DataFrame([[age, bmi, children, smoker_yes]], columns=['age', 'bmi', 'children', 'smoker_yes'])27 28 29 # Make prediction30 prediction = model.predict(df)31 32 return render_template("index.html", result=round(float(prediction[0][0]), 2), original_input=request.form)33 34 except Exception as e:35 return jsonify({'error': str(e)}), 50036 37if __name__ == '__main__':38 waitress.serve(app, host='0.0.0.0', port=8080, debug=True)39 