File size: 5,280 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
 
 
 
 
 
 
 
4c1d41a
 
 
 
 
 
0e1f0b4
 
 
 
 
 
a6efa8b
 
 
 
 
0e1f0b4
4c1d41a
 
a252330
4c1d41a
485e424
1015725
2ff9125
3aabd65
1015725
 
8878f63
1015725
 
4c1d41a
 
 
267e4e9
4c1d41a
2ff9125
 
4bfee9c
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
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],
            
            
                                 
        }
    )
         
    pred = model.predict(df)[0]

   # if pred < 5.0:
    #    predicted="La nota media que se puede lograr en el grupo serà de "+ str(round(pred,2)) + " Es necesario mejorar mucho"
    #elif (pred >=5.0 and pred <=7.0):
    #    predicted="La nota media que se puede lograr en el grupo serà de "+ str(round(pred,2)) + " . Vais por buen camino"
    #else:
    #    predicted="La nota media que se puede lograr en el grupo serà de "+ str(round(pred,2)) + " . Buen trabajo"
    if pred == "Yes":
        predicted="stressed_image.jpg"
    else:
        predicted="ok_image.jpg"
    return predicted
   # return predicted
    
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"),
        
     ],

    [gr.outputs.Image(type='file',shape=[120,120])],
    examples=[
        ["Mujer",25,"Soltero",1500,20,2,True,2,2],
        ["Hombre",25,"Casado",1500,20,2,False,2,2],
        ["Hombre",25,"Divorciado",1500,20,2,True,2,2],
    ],
    interpretation="default",
    title = 'Student Experience: cómo mejorar la experiencia de aprendizaje en la universidad',
    description = '¿Cómo calificarías la experiencia de aprendizaje que viviste/estás viviendo en la universidad? ¿Sabrías decir qué es lo que hace que estás más satisfecho/a con un profesor? Si eres estudiante, ¿preparado/a para saber qué es lo que tienes pedir a tu universidad para tener la mejor experiencia y notas posibles? Si eres profesor/a universitario/a ¿preparado/a para conocer los elementos en los que más tienes que enfocarte para mejorar tu desempeño profesional? Para saber más: https://saturdays.ai/2021/07/29/como-mejorar-la-experiencia-de-aprendizaje-en-la-universidad-con-inteligencia-artificial/',
    theme = 'peach'
)


   
iface.launch()