generated from streamlit/blank-app-template
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsalary_predict_app.py
131 lines (107 loc) · 3.65 KB
/
salary_predict_app.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
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
import streamlit as st
import pandas as pd
# import joblib
import pypickle
# Load the model
model = pypickle.load('salary.pkl')
# Title and description
st.title('پیش بینی حقوق برنامه نویسان در سال 2022')
st.write('لطفاْ فیلد های زیر را برای پیش بینی دقیق تکمیل نمایید.')
# Country selection
countries = (
'United States of America', 'Germany', 'United Kingdom of Great Britain and Northern Ireland',
'India', 'Canada', 'France', 'Brazil', 'Spain', 'Poland', 'Netherlands', 'Australia',
'Italy', 'Sweden', 'Russian Federation', 'Switzerland', 'Turkey', 'Austria', 'Israel',
'Czech Republic', 'Belgium', 'Portugal', 'Denmark', 'Mexico', 'Norway', 'Romania',
'Greece', 'Pakistan', 'New Zealand', 'Finland', 'Argentina', 'South Africa',
'Iran, Islamic Republic of...', 'Ukraine', 'Hungary', 'Bangladesh', 'Ireland', 'Japan',
'Colombia', 'Other'
)
country = st.selectbox('انتخاب کشور ', countries)
# Education level selection
education_levels = [
'Less than a Bachelors',
'Bachelor’s degree',
'Master’s degree'
]
education = st.radio('سطح تحصیلات', education_levels)
# Experience selection
experience = st.slider('(سال)سابقه کار', 0, 50, 2)
# Predict button
ok = st.button('محاسبه حقوق')
# Salary prediction
if ok:
# Prepare input data as a DataFrame directly
X_new_df = pd.DataFrame([[country, education, experience]], columns=['Country', 'EdLevel', 'YearsCodePro'])
# Predict salary
salary = model.predict(X_new_df)
# Display predicted salary
st.subheader(f'حقوق پیش بینی شده: ${salary[0]:,.2f}')
# 2. Example code 2
# import streamlit as st
# import numpy as np
# import pandas as pd
# import joblib
# model = joblib.load('mymodel.joblib')
# st.title('پیش بینی حقوق برنامه نویسان در سال 2022')
# st.write('لطفاْ فیلد های زیر را برای پیش بینی دقیق تکمیل نمایید .')
# countries = (
# 'United States of America',
# 'Germany',
# 'United Kingdom of Great Britain and Northern Ireland',
# 'India',
# 'Canada',
# 'France',
# 'Brazil',
# 'Spain',
# 'Poland',
# 'Netherlands',
# 'Australia',
# 'Italy',
# 'Sweden',
# 'Russian Federation',
# 'Switzerland',
# 'Turkey',
# 'Austria',
# 'Israel',
# 'Czech Republic',
# 'Belgium',
# 'Portugal',
# 'Denmark',
# 'Mexico',
# 'Norway',
# 'Romania',
# 'Greece',
# 'Pakistan',
# 'New Zealand',
# 'Finland',
# 'Argentina',
# 'South Africa',
# 'Iran, Islamic Republic of...',
# 'Ukraine',
# 'Hungary',
# 'Bangladesh',
# 'Ireland',
# 'Japan',
# 'Colombia',
# 'Other',
# )
# education = [
# 'Less than a Bachelors',
# 'Bachelor’s degree',
# 'Master’s degree'
# ]
# country = st.selectbox('انتخاب کشور ', countries)
# # education = st.selectbox('سطح تحصیلات', education)
# education = st.radio('سطح تحصیلات', education)
# expericence = st.slider('(سال)سابقه کار', 0, 50, 2)
# columns = ['Country', 'EdLevel', 'YearsCodePro']
# ok = st.button('محاسبه حقوق')
# if ok:
# X_new = [countries,education,expericence]
# X_new_df = pd.DataFrame([X_new], columns= columns)
# salary = model.predict(X_new_df)
# # Display predicted salary
# # st.subheader(salary[0])
# # st.subheader(f'حقوق پیش بینی شده: ${salary[0]:,.2f}')
# st.subheader(f'حقوق پیش بینی شده بر اساس داده های ورودی ${salary[0]:.2f} می باشد.')