-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathpredict_page.py
56 lines (44 loc) · 1.32 KB
/
predict_page.py
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 streamlit as st
import pickle
import numpy as np
def load_model():
with open('saved_steps.pkl','rb') as file:
data=pickle.load(file)
return data
data=load_model()
regressor=data["model"]
le_country=data["le_country"]
le_education=data["le_education"]
def show_predict_page():
st.title("Software Developer Salary Prediction")
st.write("""### We need some information to predict the salary""")
countries = ("United States of America",
"Germany",
"United Kingdom of Great Britain and Northern Ireland",
"Canada",
"India",
"France",
"Netherlands",
"Australia",
"Brazil",
"Spain",
"Sweden",
"Italy",
"Poland",
"Switzerland",
"Denmark",
"Norway",
"Israel")
education= ('Bachelor’s degree', 'Less than a Bachelors', 'Master’s degree',
'Post grad')
country=st.selectbox("Country",countries)
education=st.selectbox("Education Level",education)
experience=st.slider("Years of Experience",0,50,3)
ok=st.button("Calculate Salary")
if ok:
X=np.array([[country,education,experience]])
X[:,0]=le_country.transform(X[:,0])
X[:,1]=le_education.transform(X[:,1])
X=X.astype(float)
salary=regressor.predict(X)
st.subheader(f"The estimated salary is ${salary[0]:.2f}")