Spaces:
Runtime error
Runtime error
import gradio as gr | |
from joblib import load | |
import pandas as pd | |
dv , model = load("train_model.joblib") | |
# creating a predict function to be passed into gradio UI | |
def predict(age, job, marital, education, default, housing, | |
loan, contact, month,day_of_week,campaign,pdays, | |
previous,poutcome,cons_price_idx,cons_conf_idx,emp_var_rate): | |
customer = { | |
'age': age, | |
'job': job, | |
'marital': marital, | |
'education': education, | |
'default': default, | |
'housing': housing, | |
'loan': loan, | |
'contact': contact, | |
'month': month, | |
'day_of_week': day_of_week, | |
'campaign': campaign, | |
'pdays': pdays, | |
'previous': previous, | |
'poutcome': poutcome, | |
'cons_price_idx': cons_price_idx, | |
'cons_conf_idx': cons_conf_idx, | |
'emp_var_rate': emp_var_rate | |
} | |
print(customer) | |
df_transformed = dv.transform([customer]) | |
prediction = model.predict_proba(df_transformed)[:,1] | |
# Desposited = prediction >= 0.50 | |
# result = { | |
# "deposit_probability": float(prediction), | |
# "Deposited": bool(Deposited) | |
# } | |
print(f' The probabilty of depositing in the bank is : {str(prediction)}') | |
return str(prediction) | |
age = gr.inputs.Slider(minimum=1,default = 35, maximum=100, label = 'age') #default=data['age'].mean() | |
job = gr.inputs.Dropdown(choices=["housemaid", "services","admin.","blue-collar","technician", | |
"retired","management","unemployed","self-employed","unknown", | |
"entrepreneur","student"],label = 'job') | |
marital = gr.inputs.Dropdown(choices=["married", "single","divorced","unknown"],label = 'marital') | |
education = gr.inputs.Dropdown(choices=["basic.4y", "high.school","basic.6y","basic.9y","professional.course", | |
"unknown","university.degree","illiterate"],label = 'education') | |
default = gr.inputs.Dropdown(choices=["yes", "no","unknown"],label = 'default') | |
housing = gr.inputs.Dropdown(choices=["yes", "no","unknown"],label = 'housing') | |
loan = gr.inputs.Dropdown(choices=["yes", "no","unknown"],label = 'loan') | |
contact = gr.inputs.Dropdown(choices=["telephone", "cellular"],label = 'contact') | |
month = gr.inputs.Dropdown(choices=['may', 'jun', 'jul', 'aug', 'oct', 'nov', 'dec', | |
'mar', 'apr','sep'],label = 'month') | |
day_of_week = gr.inputs.Dropdown(choices=['mon', 'tue', 'wed', 'thu', 'fri'],label = 'day_of_week') | |
campaign = gr.inputs.Slider(minimum=1,default = 2, maximum=56, label = 'campaign') | |
pdays = gr.inputs.Slider(minimum=0,default = 0, maximum=27, label = 'pdays') | |
previous = gr.inputs.Slider(minimum=0,default = 0, maximum=7, label = 'previous') | |
poutcome = gr.inputs.Dropdown(choices=["nonexistent", "failure","success"],label = 'poutcome') | |
cons_price_idx = gr.inputs.Slider(minimum=92,default = 94, maximum=95, label = 'cons_price_idx') | |
cons_conf_idx = gr.inputs.Slider(minimum=-51,default = -42, maximum=-27, label = 'cons_conf_idx') | |
emp_var_rate = gr.inputs.Slider(minimum=4964,default = 5191, maximum=5228, label = 'emp_var_rate') | |
iface = gr.Interface(predict,[age, job, marital, education, default, housing, | |
loan, contact, month,day_of_week,campaign,pdays, | |
previous,poutcome,cons_price_idx,cons_conf_idx,emp_var_rate], | |
outputs = "number", | |
interpretation="default" | |
) | |
iface.launch(share=True) | |