chanyaphas commited on
Commit
b632019
·
1 Parent(s): 07d607b

Upload 4 files

Browse files
Files changed (4) hide show
  1. app.py +65 -0
  2. model.joblib +3 -0
  3. requirements.txt +5 -0
  4. unique_values.joblib +3 -0
app.py ADDED
@@ -0,0 +1,65 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import joblib
2
+ import pandas as pd
3
+ import streamlit as st
4
+
5
+ Pros = {'Engineer' : 1,
6
+ 'Healthcare' : 2,
7
+ 'Executive' : 3,
8
+ 'Doctor' : 4,
9
+ 'Artist' : 5,
10
+ 'Lawyer' : 6,
11
+ 'Entertainment' : 7,
12
+ 'Homemaker' : 8,
13
+ 'Marketing' : 9
14
+ }
15
+
16
+ model = joblib.load('model.joblib')
17
+ unique_values = joblib.load('unique_values.joblib')
18
+
19
+ unique_Gender = unique_values["Gender"]
20
+ unique_Ever_Married = unique_values["Ever_Married"]
21
+ unique_Graduated = unique_values["Graduated"]
22
+ unique_Spending_Score = unique_values["Spending_Score"]
23
+ unique_Var_1 = unique_values["Var_1"]
24
+ unique_Profession = unique_values["profession"]
25
+
26
+ def main():
27
+ st.title("Customer segmentation")
28
+
29
+ with st.form("questionaire"):
30
+ Gender = st.selectbox("Gender", unique_Gender)
31
+ Ever_Married = st.selectbox("Married", unique_Ever_Married)
32
+ Age = st.slider("Age", min_value=18, max_value=89)
33
+ Graduated = st.selectbox("Graduated", unique_Graduated)
34
+ Profession = st.selectbox("Profession", unique_Profession)
35
+ Work_Experience = st.slider("Work_Experience", min_value=0, max_value=14)
36
+ Spending_Score = st.selectbox("Spending_Score", unique_Spending_Score)
37
+ Family_Size = st.slider("Family_Size", min_value=1, max_value=9)
38
+ Var_1 = st.selectbox("Var_1", unique_Var_1)
39
+ ID = st.slider("ID", min_value=458982, max_value=467974)
40
+
41
+ clicked = st.form_submit_button("Predict Segmentation")
42
+ if clicked:
43
+ result=model.predict(pd.DataFrame({"Gender": [Gender],
44
+ "Ever_Married": [Ever_Married],
45
+ "Age": [Age],
46
+ "ID": [ID],
47
+ "Graduated": [Graduated],
48
+ "Profession": [Pros[Profession]],
49
+ "Work_Experience": [Work_Experience],
50
+ "Spending_Score": [Spending_Score],
51
+ "Family_Size": [Family_Size],
52
+ "Var_1": [Var_1],
53
+ }))
54
+ if result[0] == "A":
55
+ result = "A"
56
+ elif result[0] == "B":
57
+ result = "B"
58
+ elif result[0] == "C":
59
+ result = "C"
60
+ else:
61
+ result = "D"
62
+ st.success('The predicted Segmentation is {}'.format(result))
63
+
64
+ if __name__=='__main__':
65
+ main()
model.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f25fcd7ba6383eb00e9286cef1f0d8b344490c1ebeb673fa2a4779c5d2599213
3
+ size 1244126
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:280e2ba696c2e70aa1d9668ffab3f7d95d3ab0b4db5749074859941fb1391579
3
+ size 1763