chanyaphas commited on
Commit
d17c163
·
1 Parent(s): 59f7d0a

Upload app.py

Browse files
Files changed (1) hide show
  1. app.py +33 -45
app.py CHANGED
@@ -1,65 +1,53 @@
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()
 
1
  import joblib
2
  import pandas as pd
3
+ import streamlit as st
 
 
 
 
 
 
 
 
 
 
 
4
 
5
+ # โหลดโมเดลและข้อมูลที่จำเป็น
6
  model = joblib.load('model.joblib')
7
  unique_values = joblib.load('unique_values.joblib')
8
 
 
 
 
 
 
 
 
9
  def main():
10
+ st.title("Customer Segmentation Prediction")
11
 
12
+ # สร้างฟอร์มสำหรับป้อนข้อมูล
13
+ with st.form("questionnaire"):
14
+ Gender = st.selectbox("Gender", unique_values["Gender"])
15
+ Ever_Married = st.selectbox("Ever Married", unique_values["Ever_Married"])
16
  Age = st.slider("Age", min_value=18, max_value=89)
17
+ Graduated = st.selectbox("Graduated", unique_values["Graduated"])
18
+ Profession = st.selectbox("Profession", unique_values["Profession"])
19
+ Work_Experience = st.slider("Work Experience", min_value=0, max_value=14)
20
+ Spending_Score = st.selectbox("Spending Score", unique_values["Spending_Score"])
21
+ Family_Size = st.slider("Family Size", min_value=1, max_value=9)
22
+ Var_1 = st.selectbox("Var_1", unique_values["Var_1"])
23
  ID = st.slider("ID", min_value=458982, max_value=467974)
24
 
25
+ # สร้างปุ่มสำหรับการทำนาย
26
  clicked = st.form_submit_button("Predict Segmentation")
27
  if clicked:
28
+ # ใช้โมเดลทำนาย Segmentation จากข้อมูลที่ป้อน
29
+ result = model.predict(pd.DataFrame({"Gender": [Gender],
30
+ "Ever_Married": [Ever_Married],
31
+ "Age": [Age],
32
+ "ID": [ID],
33
+ "Graduated": [Graduated],
34
+ "Profession": [Pros[Profession]],
35
+ "Work_Experience": [Work_Experience],
36
+ "Spending_Score": [Spending_Score],
37
+ "Family_Size": [Family_Size],
38
+ "Var_1": [Var_1]
39
+ }))
40
+ # แปลงผลลัพธ์ให้เป็นข้อความ
41
+ if result[0] == 0:
42
  result = "A"
43
+ elif result[0] == 1:
44
  result = "B"
45
+ elif result[0] == 2:
46
  result = "C"
47
  else:
48
  result = "D"
49
+ # แสดงผลลัพธ์
50
+ st.success('Predicted Segmentation: {}'.format(result))
51
 
52
+ if __name__ == '__main__':
53
  main()