Spaces:
Runtime error
Runtime error
import gradio.inputs | |
import gradio as gr | |
import pickle | |
import pandas as pd | |
import sklearn | |
from sklearn.preprocessing import OneHotEncoder | |
from sklearn.preprocessing import OrdinalEncoder | |
from sklearn.pipeline import Pipeline | |
from sklearn.compose import ColumnTransformer | |
from sklearn.compose import make_column_selector as selector | |
#from sklearn.ensemble import HistGradientBoostingClassifier | |
with open('./model_leads.pck', 'rb') as f: | |
model = pickle.load(f) | |
labels = ["No, no será cliente", "Sí, será un cliente"] | |
def convert(lead_origin, lead_source, do_not_email, totalvisits,total_time_spent_on_website, page_views_per_visit, last_activity, | |
specialization, what_is_your_current_occupation, tags, city, a_free_copy_of_mastering_the_interview, last_notable_activity ): | |
#Se crea un dataframe con los datos enviados | |
df = pd.DataFrame() | |
df['lead_origin'] = [lead_origin] | |
df['lead_source'] = [lead_source] | |
df['do_not_email'] = [do_not_email] | |
df['totalvisits'] = [totalvisits] | |
df['total_time_spent_on_website'] = [total_time_spent_on_website] | |
df['page_views_per_visit'] = [page_views_per_visit] | |
df['last_activity'] = [last_activity] | |
df['specialization'] = [specialization] | |
df['what_is_your_current_occupation'] = [what_is_your_current_occupation] | |
df['tags'] = [tags] | |
df['city'] = [city] | |
df['a_free_copy_of_mastering_the_interview'] = [a_free_copy_of_mastering_the_interview] | |
df['last_notable_activity'] = [last_notable_activity] | |
#El modelo hace su predicción | |
prediction = model.predict_proba(df).flatten() | |
print(prediction) | |
#Se devuelve el percentaje que el modelo ha predicho para cada etiqueta | |
return {labels[i]: float(prediction[i]) for i in range(2)} | |
#return {"No, no será cliente": prediction[0], "Sí, será un cliente": prediction[1]} | |
iface = gr.Interface( | |
fn=convert, | |
inputs= [ | |
gr.inputs.Dropdown(["landing_page_submission", "api", "lead_add_form", "lead_import"]), | |
gr.inputs.Dropdown(['olark_chat', 'organic_search', 'direct_traffic', 'google', 'referral_sites', 'reference', 'welingak_website', 'social_media' ,'others', 'live_chat']), | |
gr.inputs.Checkbox(), | |
gr.inputs.Slider(0, 150), | |
gr.inputs.Slider(0, 1000), | |
gr.inputs.Slider(0, 15), | |
gr.inputs.Dropdown(['page_visited_on_website', 'email_opened', 'others', 'converted_to_lead', 'olark_chat_conversation', 'email_bounced', 'email_link_clicked', 'form_submitted_on_website', 'sms_sent']), | |
gr.inputs.Dropdown(['not_specified', 'business_administration', 'media_and_advertising', 'management_specializations', 'travel_and_tourism', 'banking,_investment_and_insurance', 'international_business', 'e-commerce', 'services_excellence', 'rural_and_agribusiness', 'e-business']), | |
gr.inputs.Dropdown(['unemployed', 'student' ,'working_professional', 'businessman', 'other', 'housewife']), | |
gr.inputs.Dropdown(['interested_in_other_courses', 'ringing', 'will_revert_after_reading_the_email', 'not_specified', 'lost_to_eins', 'other_tags', 'busy', 'closed_by_horizzon', 'interested__in_full_time_mba', 'lateral_student']), | |
gr.inputs.Dropdown(['mumbai', 'thane_&_outskirts', 'other_metro_cities', 'other_cities', 'other_cities_of_maharashtra', 'tier_ii_cities']), | |
gr.inputs.Checkbox(), | |
gr.inputs.Dropdown(['modified', 'email_opened', 'page_visited_on_website', 'other_notable_activity', 'email_link_clicked', 'olark_chat_conversation', 'sms_sent']), | |
], | |
outputs="label", | |
title="¿Se convetirá en cliente?", | |
description="Aplicación de aprendizaje automático que predice la probabilidad de que un potencial cliente contrate los servicios de nuestra empresa", | |
) | |
iface.launch() |