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

Upload Lab07.py

Browse files
Files changed (1) hide show
  1. Lab07.py +53 -0
Lab07.py ADDED
@@ -0,0 +1,53 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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()