File size: 1,338 Bytes
8e3dcf0 c9eaabd dc04163 c9eaabd dc04163 756b493 dc04163 756b493 dc04163 756b493 dc04163 c9eaabd dc04163 756b493 c9eaabd dc04163 c9eaabd dc04163 c9eaabd 756b493 dc04163 c9eaabd dc04163 c9eaabd 756b493 c9eaabd dc04163 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | # Importing libraries
import joblib
import gradio as gr
import pandas as pd
charges_predictor = joblib.load("model.joblib")
age_input = gr.Number(label="Age", value=25)
bmi_input = gr.Number(label="BMI", value=25)
children_input = gr.Number(label="Children", value=0)
sex_input = gr.Dropdown(
["male","female"],
value="male",
label="Sex"
)
smoker_input = gr.Dropdown(
["yes","no"],
value="no",
label="Smoker"
)
region_input = gr.Dropdown(
["southeast","southwest","northeast","northwest"],
value="southeast",
label="Region"
)
model_output = gr.Textbox(label="Predicted Insurance Cost")
def predict_charges(age,bmi,children,sex,smoker,region):
sample = {
"age": age,
"bmi": bmi,
"children": children,
"sex": sex,
"smoker": smoker,
"region": region
}
data_point = pd.DataFrame([sample])
prediction = charges_predictor.predict(data_point)
return f"${prediction[0]:,.2f}"
demo = gr.Interface(
fn=predict_charges,
inputs=[
age_input,
bmi_input,
children_input,
sex_input,
smoker_input,
region_input
],
outputs=model_output,
title="Insurance Charge Prediction",
description="Predict insurance medical charges based on user information"
)
demo.launch() |