File size: 1,961 Bytes
ce041f6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import pandas as pd
import gradio as gr
import pickle


# Load the XGBoost model from disk
loaded_model = pickle.load(open("xgb_h.pkl", 'rb'))


# Function to predict intent to stay
def predict_intent_to_stay(Engagement, WorkEnvironment, UpperLevelManagement, RewardsBenefits, EmployeeWellBeing, Workload, LearningDevelopment):

    # Create input DataFrame
    input_data = pd.DataFrame({
        'Engagement': [Engagement],
        'WorkEnvironment': [WorkEnvironment],
        'UpperLevelManagement': [UpperLevelManagement],
        'RewardsBenefits': [RewardsBenefits],
        'EmployeeWellBeing': [EmployeeWellBeing],
        'Workload': [Workload],
        'LearningDevelopment': [LearningDevelopment]
    })

    # Perform prediction using the loaded model
    prediction = loaded_model.predict_proba(input_data)[0]

    return {"Leave": prediction[0], "Stay": prediction[1]}


# Create sliders for user input
engagement_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Engagement")
work_environment_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Work Environment")
upper_level_management_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Upper Level Management")
rewards_benefits_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Rewards Benefits")
employee_wellbeing_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Employee Well-Being")
workload_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Workload")
learning_development_slider = gr.Slider(minimum=1, maximum=5, value=3, label="Learning & Development")

# Create the interface
interface = gr.Interface(
    fn=predict_intent_to_stay,
    inputs=[
        engagement_slider,
        work_environment_slider,
        upper_level_management_slider,
        rewards_benefits_slider,
        employee_wellbeing_slider,
        workload_slider,
        learning_development_slider
    ],
    outputs="text"
)

# Launch the interface
interface.launch()