Lic_premium_app / src /streamlit_app.py
GS123's picture
Update src/streamlit_app.py
16b8411 verified
Raw
History Blame Contribute Delete
1.74 kB
import streamlit as st
import numpy as np
import joblib
col1, col2 = st.columns([0.25,0.75], vertical_alignment = "center")
with col1:
st.image("./src/lic logo.png")
with col2:
st.title("Lic Insurance App")
age = st.number_input(label = "Enter your Age",
value = 30, min_value = 5, max_value = 70,
step = 1)
col3, col4 = st.columns([0.5,0.5], vertical_alignment = "center")
with col3:
feet = st.number_input(label = "Height in feet",
value = 5, min_value = 0, max_value = 10,
step = 1)
with col4:
inches = st.number_input(label = "Height in inches",
value = 0, min_value = 0, max_value = 11,
step = 1)
weight = st.number_input(label = "Weight in kg",
value = 50.0, min_value = 5.0, max_value = 200.0,
step = 0.5)
height_m = feet*0.3048 + inches*0.0254
bmi = weight / (height_m)**2
st.write(f"Your BMI is -: {round(bmi,2)}")
children = st.slider(label = "Select number of Children",
min_value=0, max_value=5, value=0, step=1)
smoker = st.selectbox(label = "Enter Smoking Status",
options = ("Yes", "No"))
smoker_num = 1 if smoker == "Yes" else 0
test_data = [[age, bmi, children, smoker_num]]
model = joblib.load("./src/model.joblib")
std_scaler = joblib.load("./src/scaler.joblib")
poly = joblib.load("./src/poly.joblib")
if st.button("Get Premium") == True:
test_scale = std_scaler.transform(test_data)
test_poly = poly.transform(test_scale)
y_pred_sqrt = model.predict(test_poly)[0]
y_pred = round(y_pred_sqrt**2,2)
st.header(f"Your Premium amount is ${y_pred}")