AttiKiss commited on
Commit
dcc3942
·
verified ·
1 Parent(s): a66de8a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +101 -52
app.py CHANGED
@@ -1,52 +1,101 @@
1
- import pandas as pd
2
- import gradio as gr
3
- import pickle
4
-
5
- # Load the XGBoost model from disk
6
- loaded_model = pickle.load(open("xgb_h.pkl", 'rb'))
7
-
8
- # Function to predict intent to stay
9
- def predict_intent_to_stay(Engagement, WorkEnvironment, UpperLevelManagement, RewardsBenefits, EmployeeWellBeing, Workload, LearningDevelopment):
10
- # Create input DataFrame
11
- input_data = pd.DataFrame({
12
- 'Engagement': [Engagement],
13
- 'WorkEnvironment': [WorkEnvironment],
14
- 'UpperLevelManagement': [UpperLevelManagement],
15
- 'RewardsBenefits': [RewardsBenefits],
16
- 'EmployeeWellBeing': [EmployeeWellBeing],
17
- 'Workload': [Workload],
18
- 'LearningDevelopment': [LearningDevelopment]
19
- })
20
-
21
- # Perform prediction using the loaded model
22
- prediction = loaded_model.predict_proba(input_data)[0][1] # Probability of staying
23
-
24
- # Return the predicted probability
25
- return prediction
26
-
27
- # Create sliders for user input
28
- engagement_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Engagement")
29
- work_environment_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Work Environment")
30
- upper_level_management_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Upper Level Management")
31
- rewards_benefits_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Rewards Benefits")
32
- employee_wellbeing_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Employee Well-Being")
33
- workload_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Workload")
34
- learning_development_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Learning & Development")
35
-
36
- # Create the interface
37
- interface = gr.Interface(
38
- fn=predict_intent_to_stay,
39
- inputs=[
40
- engagement_slider,
41
- work_environment_slider,
42
- upper_level_management_slider,
43
- rewards_benefits_slider,
44
- employee_wellbeing_slider,
45
- workload_slider,
46
- learning_development_slider
47
- ],
48
- outputs=gr.outputs.Label(num_top_classes=2)
49
- )
50
-
51
- # Launch the interface
52
- interface.launch()
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ import gradio as gr
3
+
4
+ import pickle
5
+
6
+
7
+
8
+ # Load the XGBoost model from disk
9
+
10
+ loaded_model = pickle.load(open("xgb_h.pkl", 'rb'))
11
+
12
+
13
+
14
+ # Function to predict intent to stay
15
+
16
+ def predict_intent_to_stay(Engagement, WorkEnvironment, UpperLevelManagement, RewardsBenefits, EmployeeWellBeing, Workload, LearningDevelopment):
17
+
18
+ # Create input DataFrame
19
+
20
+ input_data = pd.DataFrame({
21
+
22
+ 'Engagement': [Engagement],
23
+
24
+ 'WorkEnvironment': [WorkEnvironment],
25
+
26
+ 'UpperLevelManagement': [UpperLevelManagement],
27
+
28
+ 'RewardsBenefits': [RewardsBenefits],
29
+
30
+ 'EmployeeWellBeing': [EmployeeWellBeing],
31
+
32
+ 'Workload': [Workload],
33
+
34
+ 'LearningDevelopment': [LearningDevelopment]
35
+
36
+ })
37
+
38
+
39
+
40
+ # Perform prediction using the loaded model
41
+
42
+ prediction = loaded_model.predict(input_data)[0]
43
+
44
+
45
+
46
+ return {"Leave": prediction, "Stay": 1 - prediction}
47
+
48
+
49
+
50
+ # Create sliders for user input
51
+
52
+ engagement_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Engagement")
53
+
54
+ work_environment_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Work Environment")
55
+
56
+ upper_level_management_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Upper Level Management")
57
+
58
+ rewards_benefits_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Rewards Benefits")
59
+
60
+ employee_wellbeing_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Employee Well-Being")
61
+
62
+ workload_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Workload")
63
+
64
+ learning_development_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Learning & Development")
65
+
66
+
67
+
68
+ # Create the interface
69
+
70
+ interface = gr.Interface(
71
+
72
+ fn=predict_intent_to_stay,
73
+
74
+ inputs=[
75
+
76
+ engagement_slider,
77
+
78
+ work_environment_slider,
79
+
80
+ upper_level_management_slider,
81
+
82
+ rewards_benefits_slider,
83
+
84
+ employee_wellbeing_slider,
85
+
86
+ workload_slider,
87
+
88
+ learning_development_slider
89
+
90
+ ],
91
+
92
+ outputs="text"
93
+
94
+ )
95
+
96
+
97
+
98
+ # Launch the interface
99
+
100
+ interface.launch()
101
+