| import streamlit as st |
| import joblib |
| import numpy as np |
|
|
| |
| model = joblib.load('rf_insurance_model.pkl') |
| label_encoders = joblib.load('label_encoders.pkl') |
|
|
| |
| st.title("Insurance Charges Prediction") |
|
|
| |
| age = st.number_input('Age', min_value=18, max_value=100, value=25) |
| sex = st.selectbox('Sex', options=['male', 'female']) |
| bmi = st.number_input('BMI', min_value=10.0, max_value=50.0, value=25.0) |
| children = st.number_input('Number of Children', min_value=0, max_value=10, value=0) |
| smoker = st.selectbox('Smoker', options=['yes', 'no']) |
| region = st.selectbox('Region', options=['southwest', 'southeast', 'northwest', 'northeast']) |
|
|
| |
| sex_encoded = label_encoders['sex'].transform([sex])[0] |
| smoker_encoded = label_encoders['smoker'].transform([smoker])[0] |
| region_encoded = label_encoders['region'].transform([region])[0] |
|
|
| |
| features = np.array([[age, sex_encoded, bmi, children, smoker_encoded, region_encoded]]) |
|
|
| |
| if st.button('Predict Charges'): |
| prediction = model.predict(features)[0] |
| st.write(f"Predicted Insurance Charges: ${prediction:.2f}") |
|
|