| import os |
| import uuid |
| import joblib |
| import json |
|
|
| import gradio as gr |
| import pandas as pd |
|
|
| from huggingface_hub import CommitScheduler |
| from pathlib import Path |
|
|
| |
| |
| |
|
|
| os.system("python train.py") |
|
|
| |
|
|
| insurance_charge_predictor = joblib.load('model.joblib') |
|
|
| |
|
|
| |
| |
|
|
| |
| |
| |
| |
| |
| |
| |
|
|
| |
| def predict_insurance_charge(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 = insurance_charge_predictor.predict(data_point).tolist() |
|
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| return round(prediction[0],2) |
|
|
| |
|
|
| age_input = gr.Number(label='age') |
| bmi_input = gr.Number(label='bmi') |
| children_input = gr.Number(label='children') |
| sex_input = gr.Dropdown(['female','male'],label='sex') |
| smoker_input = gr.Dropdown(['yes','no'],label='smoker') |
| region_input = gr.Dropdown( |
| ['southeast', 'southwest', 'northwest', 'northeast'], |
| label='region' |
| ) |
|
|
| model_output = gr.Label(label="Insurance Charges") |
|
|
| |
| demo = gr.Interface( |
| fn=predict_insurance_charge, |
| inputs=[age_input, bmi_input, children_input,sex_input, smoker_input, region_input], |
| outputs=model_output, |
| title="HealthyLife Insurance Charge Prediction", |
| description="This API allows you to predict the estimating insurance charges based on customer attributes", |
| examples=[[33,33.44,5,'male','no','southeast'], |
| [58,25.175,0,'male','no','northeast'], |
| [52,38.380,2,'female','no','northeast']], |
| concurrency_limit=16 |
| ) |
|
|
| |
| demo.queue() |
| demo.launch(share=False) |
|
|
|
|