Commit
·
d17c163
1
Parent(s):
59f7d0a
Upload app.py
Browse files
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
|
28 |
|
29 |
-
|
30 |
-
|
31 |
-
|
|
|
32 |
Age = st.slider("Age", min_value=18, max_value=89)
|
33 |
-
Graduated = st.selectbox("Graduated",
|
34 |
-
Profession = st.selectbox("Profession",
|
35 |
-
Work_Experience = st.slider("
|
36 |
-
Spending_Score = st.selectbox("
|
37 |
-
Family_Size = st.slider("
|
38 |
-
Var_1 = st.selectbox("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 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
|
|
|
|
55 |
result = "A"
|
56 |
-
elif result[0] ==
|
57 |
result = "B"
|
58 |
-
elif result[0] ==
|
59 |
result = "C"
|
60 |
else:
|
61 |
result = "D"
|
62 |
-
|
|
|
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()
|