Spaces:
Runtime error
Runtime error
File size: 6,162 Bytes
4c1d41a 2ff9125 4c1d41a 4bfee9c 291b4bd a252330 291b4bd 3aabd65 291b4bd a252330 291b4bd 2ff9125 291b4bd 2ff9125 291b4bd 2ff9125 3aabd65 2ff9125 291b4bd 2ff9125 3aabd65 291b4bd 2ff9125 291b4bd 2ff9125 291b4bd 2ff9125 291b4bd 052d41d 4c1d41a 052d41d 4c1d41a a6efa8b c89093f 8ef7cda a6efa8b c89093f 8ef7cda 7b813dc 4c1d41a a252330 4c1d41a 485e424 1015725 2ff9125 3aabd65 1015725 8878f63 1015725 4c1d41a 4f59ecc 4c1d41a ff14f2e 4c1d41a 7b813dc 4c1d41a |
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 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 |
import gradio as gr
import pandas as pd
from joblib import load
def humands(Sex,Age,Married,Monthlyincome,TotalWorkingYears,DistanceFromHome,Overtime,YearsAtCompany,NumCompaniesWorked):
model = load('modelo_entrenado.pkl')
df = pd.DataFrame.from_dict(
{
"MonthlyIncome" : [Monthlyincome],
"Age" : [Age],
"TotalWorkingYears" : [TotalWorkingYears],
"DailyRate" : [Monthlyincome*2/30],
"HourlyRate" : [Monthlyincome*2/1640],
"DistanceFromHome" : [DistanceFromHome],
"OverTime_Yes" : [1 if Overtime else 0],
"OverTime_No" : [1 if not Overtime else 0],
"YearsAtCompany" : [YearsAtCompany],
"MonthlyRate" : [Monthlyincome*2],
"NumCompaniesWorked" : [NumCompaniesWorked],
"PercentSalaryHike" : [15],
"YearsInCurrentRole" : [YearsAtCompany-1],
"YearsWithCurrManager" : [YearsAtCompany-1],
"StockOptionLevel" : [1],
"YearsSinceLastPromotion" : [YearsAtCompany-1],
"JobSatisfaction" : [2],
"JobLevel" : [3],
"TrainingTimesLastYear" : [0],
"EnvironmentSatisfaction" : [2],
"WorkLifeBalance" : [2],
"MaritalStatus_Single" : [1 if Married==0 else 0],
"JobInvolvement" : [2],
"RelationshipSatisfaction" : [Married+1],
"Education" : [2],
"BusinessTravel_Travel_Frequently" : [1 if Overtime else 0],
"JobRole_Sales Representative" : [0],
"EducationField_Medical" : [0],
"Department_Sales" : [0],
"JobRole_Laboratory Technician" : [0],
"Department_Research & Development" : [1],
"Gender_Female" : [1 if Sex==0 else 0],
"MaritalStatus_Married" : [1 if Married==1 else 0],
"JobRole_Sales Executive" : [0],
"EducationField_Technical Degree" : [1],
"Gender_Male" : [1 if Sex==1 else 0],
"EducationField_Life Sciences" : [0],
"BusinessTravel_Travel_Rarely" : [0],
"MaritalStatus_Divorced" : [1 if Married==2 else 0],
"JobRole_Research Scientist" : [1],
"EducationField_Marketing" : [0],
"PerformanceRating" : [3],
"EducationField_Other" : [0],
"JobRole_Human Resources" : [0],
"BusinessTravel_Non-Travel" : [1 if not Overtime else 0],
"Department_Human Resources" : [0],
"JobRole_Manufacturing Director" : [0],
"JobRole_Healthcare Representative" : [0],
"EducationField_Human Resources" : [0],
"JobRole_Manager" : [0],
"JobRole_Research Director" : [0],
}
)
columnas = ['Age', 'DailyRate', 'DistanceFromHome', 'Education',
'EnvironmentSatisfaction', 'HourlyRate', 'JobInvolvement', 'JobLevel',
'JobSatisfaction', 'MonthlyIncome', 'MonthlyRate', 'NumCompaniesWorked',
'PercentSalaryHike', 'PerformanceRating', 'RelationshipSatisfaction',
'StockOptionLevel', 'TotalWorkingYears', 'TrainingTimesLastYear',
'WorkLifeBalance', 'YearsAtCompany', 'YearsInCurrentRole',
'YearsSinceLastPromotion', 'YearsWithCurrManager',
'BusinessTravel_Non-Travel', 'BusinessTravel_Travel_Frequently',
'BusinessTravel_Travel_Rarely', 'Department_Human Resources',
'Department_Research & Development', 'Department_Sales',
'EducationField_Human Resources', 'EducationField_Life Sciences',
'EducationField_Marketing', 'EducationField_Medical',
'EducationField_Other', 'EducationField_Technical Degree',
'Gender_Female', 'Gender_Male', 'JobRole_Healthcare Representative',
'JobRole_Human Resources', 'JobRole_Laboratory Technician',
'JobRole_Manager', 'JobRole_Manufacturing Director',
'JobRole_Research Director', 'JobRole_Research Scientist',
'JobRole_Sales Executive', 'JobRole_Sales Representative',
'MaritalStatus_Divorced', 'MaritalStatus_Married',
'MaritalStatus_Single', 'OverTime_No', 'OverTime_Yes']
df = df.reindex(columns=columnas)
pred = model.predict(df)[0]
if pred == "Yes":
predicted1="Estamos ante un trabajador con alto nivel de desgaste del trabajo. Habría que plantearse alguna acción."
predicted2="stressed_image.jpg"
else:
predicted1="Estamos ante un trabajador con un nivel bajo de desgaste del trabajo. Se ha de seguir así."
predicted2="ok_image2.jpg"
return [predicted1,predicted2]
iface = gr.Interface(
humands,
[
gr.Radio(["Mujer","Hombre"],type = "index",label="Sexo"),
gr.inputs.Slider(18,70,1,label="Edad del trabajador"),
gr.Radio(["Soltero","Casado","Divorciado"],type = "index",label="Esstado civil:"),
gr.inputs.Slider(1000,20000,1,label="Ingresos mensuales del trabajador"),
gr.inputs.Slider(0,40,1,label="Total de años trabajados del trabajador"),
gr.inputs.Slider(0,100,1,label="Distancia del trabajo al domicilio en Km"),
gr.Checkbox(label="¿Realiza horas extras habitualmente?"),
gr.inputs.Slider(0,40,1,label="Años del trabajador en la empresa"),
gr.inputs.Slider(0,40,1,label="Numero de empresas en las que ha estado el trabajador"),
],
["text",gr.Image(type='filepath')],
examples=[
["Mujer",33,"Soltero",2917,9,1,False,9,1],
["Hombre",42,"Casado",3111,16,5,False,7,3],
["Hombre",50,"Divorciado",1732,20,50,True,3,3],
["Mujer",25,"Soltero",2556,6,58,True,2,4],
],
interpretation="default",
title = 'HUMANDS: Inteligencia artificial para empleados',
description = 'Uno de los motivos por los que las organizaciones pierden a sus empleados es la insatisfacción laboral, por ello, nuestro objetivo es predecir el verdadero nivel de desgaste de los empleados dentro de una organización mediante Inteligencia Artificial. Para saber más: https://saturdays.ai/2021/12/31/inteligencia-artificial-empleados/',
theme = 'peach'
)
iface.launch() |