Ceee91 commited on
Commit
3a4ffaa
·
verified ·
1 Parent(s): af9d42c

Create app.py

Browse files
Files changed (1) hide show
  1. app.py +30 -0
app.py ADDED
@@ -0,0 +1,30 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import streamlit as st
2
+ import joblib
3
+ import numpy as np
4
+
5
+ # Load the saved model and scaler
6
+ model = joblib.load("medical_model.pkl")
7
+ scaler = joblib.load("scaler.pkl")
8
+
9
+ st.title("Medical Insurance Cost Predictor")
10
+ st.write("Enter your details to estimate insurance charges.")
11
+
12
+ # User Inputs
13
+ age = st.number_input("Age", min_value=18, max_value=100, value=25)
14
+ bmi = st.number_input("BMI", min_value=10.0, max_value=60.0, value=22.0)
15
+ children = st.slider("Number of Children", 0, 5, 0)
16
+ smoker = st.selectbox("Do you smoke?", ["Yes", "No"])
17
+ sex = st.selectbox("Gender", ["Male", "Female"])
18
+
19
+ # Map inputs to match the model's training format
20
+ smoker_val = 1 if smoker == "Yes" else 0
21
+ sex_val = 1 if sex == "Male" else 0
22
+
23
+ # (Note: For simplicity, we assume region 'Southwest' as default here)
24
+ # For full accuracy, you'd add region radio buttons matching your get_dummies columns.
25
+ features = np.array([[age, sex_val, bmi, children, smoker_val, 0, 0, 0]])
26
+ features_scaled = scaler.transform(features)
27
+
28
+ if st.button("Predict Charges"):
29
+ prediction = model.predict(features_scaled)
30
+ st.success(f"Estimated Insurance Cost: ${prediction[0]:,.2f}")