hasbithaufik's picture
updating
e3793b3
import streamlit as st
import pandas as pd
import pickle
print(pd.__version__)
print(st.__version__)
print(pickle.format_version)
st.title("EMPLOYEE ATTRITION RISK PREDICTION")
st.write('Created by Hasbi Thaufik Oktodila')
# Step 1 - import saved model
model = pickle.load(open("model.pkl", "rb"))
st.write('Insert feature to predict')
# Step 2 - prepare input data for user
jobrole = st.selectbox(label='Job Role', options=['Sales Executive', 'Laboratory Technician', 'Research Scientist', 'Manufacturing Director', 'Healthcare Representative',
'Manager', 'Research Director', 'Sales Representative', 'Human Resources'])
maritalstatus = st.selectbox(label='Marital Status', options=['Single', 'Married', 'Divorced'])
overtime = st.selectbox(label='Frequently Overtime? (Yes = 1, No = 0)', options=[0, 1])
businesstravel = st.selectbox(label='Frequently Have Business Travel? (1 = Non Travel, 2 = Rarely, 3 = Frequently)', options=[1, 2, 3])
gender = st.selectbox(label='Gender (Male = 1, Female = 2)', options=[1,2])
hourlyrate = st.slider(label='Your Hourly Rate', min_value=30, max_value=100, step=1)
dailyrate = st.slider(label='Your Daily Rate', min_value=100, max_value=2000)
percentsalaryhike = st.slider(label='Your Percent Salary Hike', min_value=10, max_value=30, step=1)
age = st.slider(label='Your Age', min_value=18, max_value=60, step=1)
distancefromhome = st.slider(label='Your Office Distance From Home', min_value=1, max_value=30, step=1)
# convert into dataframe
data = pd.DataFrame({'jobrole': [jobrole],
'maritalstatus': [maritalstatus],
'overtime': [overtime],
'businesstravel':[businesstravel],
'gender': [gender],
'hourlyrate': [hourlyrate],
'dailyrate': [dailyrate],
'percentsalaryhike': [percentsalaryhike],
'age': [age],
'distancefromhome': [distancefromhome]
})
st.write(data)
# model predict
clas = model.predict(data).tolist()[0]
# interpretation
st.write('Attrition Risk: ')
if clas == 0:
st.text('Safe')
else:
st.text('Risky')