Spaces:
Runtime error
Runtime error
| 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() |