SmallO commited on
Commit
ea857f4
1 Parent(s): 32a129d

Upload 4 files

Browse files
Files changed (4) hide show
  1. app.py +66 -0
  2. model.joblib +3 -0
  3. requirements.txt +5 -0
  4. unique_values.joblib +3 -0
app.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import joblib
2
+ import pandas as pd
3
+ import streamlit as st
4
+
5
+ EDU_DICT = {'Preschool': 1,
6
+ '1st-4th': 2,
7
+ '5th-6th': 3,
8
+ '7th-8th': 4,
9
+ '9th': 5,
10
+ '10th': 6,
11
+ '11th': 7,
12
+ '12th': 8,
13
+ 'HS-grad': 9,
14
+ 'Some-college': 10,
15
+ 'Assoc-voc': 11,
16
+ 'Assoc-acdm': 12,
17
+ 'Bachelors': 13,
18
+ 'Masters': 14,
19
+ 'Prof-school': 15,
20
+ 'Doctorate': 16
21
+ }
22
+
23
+ model = joblib.load('model.joblib')
24
+ unique_values = joblib.load('unique_values.joblib')
25
+
26
+ unique_class = unique_values["workclass"]
27
+ unique_education = unique_values["education"]
28
+ unique_marital_status = unique_values["marital.status"]
29
+ unique_relationship = unique_values["relationship"]
30
+ unique_occupation = unique_values["occupation"]
31
+ unique_sex = unique_values["sex"]
32
+ unique_race = unique_values["race"]
33
+ unique_country = unique_values["native.country"]
34
+
35
+ def main():
36
+ st.title("Adult Income Analysis")
37
+
38
+ with st.form("questionaire"):
39
+ age = st.slider("Age", min_value=10, max_value=100)
40
+ workclass = st.selectbox("Workclass", unique_class)
41
+ education = st.selectbox("Education", unique_education)
42
+ Marital_Status = st.selectbox("Marital Status", unique_marital_status)
43
+ occupation = st.selectbox("Occupation", unique_occupation)
44
+ relationship = st.selectbox("Relationship", unique_relationship)
45
+ race = st.selectbox("Race", unique_race)
46
+ sex = st.selectbox("Sex", unique_sex)
47
+ hours_per_week = st.slider("Hours per week", min_value=1, max_value=100)
48
+ native_country = st.selectbox("Country", unique_country)
49
+
50
+ clicked = st.form_submit_button("Predict income")
51
+ if clicked:
52
+ result=model.predict(pd.DataFrame({"age": [age],
53
+ "workclass": [workclass],
54
+ "education": [EDU_DICT[education]],
55
+ "marital.status": [Marital_Status],
56
+ "occupation": [occupation],
57
+ "relationship": [relationship],
58
+ "race": [race],
59
+ "sex": [sex],
60
+ "hours.per.week": [hours_per_week],
61
+ "native.country": [native_country]}))
62
+ result = '>50K' if result[0] == 1 else '<=50K'
63
+ st.success('The predicted income is {}'.format(result))
64
+
65
+ if __name__=='__main__':
66
+ main()
model.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:632a9d84c65c2d26b8c4af20f37297d8324597595c848d843f805435b634f1b5
3
+ size 284613
requirements.txt ADDED
@@ -0,0 +1,5 @@
 
 
 
 
 
 
1
+ joblib
2
+ pandas
3
+ scikit-learn==1.2.2
4
+ xgboost==1.7.6
5
+ altair<5
unique_values.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6cf6f87cf9db4cc1fa51bed068a654b336484b543c8df6c454e012b187f5e6c7
3
+ size 3546