File size: 2,463 Bytes
b632019
 
d17c163
b632019
d40b8b9
 
 
 
 
 
 
 
 
b632019
 
 
 
d17c163
 
 
 
b632019
d17c163
 
 
 
 
 
b632019
 
 
 
d17c163
 
 
 
 
 
 
 
 
 
 
 
b632019
d17c163
b632019
d17c163
b632019
 
 
d17c163
b632019
d17c163
b632019
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import joblib
import pandas as pd
import streamlit as st

Pros= {'Engineer': 1,
               'Healthcare': 2,
               'Executive': 3,
               'Doctor': 4,
               'Artist': 5,
               'Lawyer': 6,
               'Entertainment': 7,
               'Homemaker': 8,
               'Marketing': 9}
model = joblib.load('model.joblib')
unique_values = joblib.load('unique_values.joblib')

def main():
    st.title("Customer Segmentation Prediction")
    with st.form("questionnaire"):
        Gender = st.selectbox("Gender", unique_values["Gender"])
        Ever_Married = st.selectbox("Ever Married", unique_values["Ever_Married"])
        Age = st.slider("Age", min_value=18, max_value=89)
        Graduated = st.selectbox("Graduated", unique_values["Graduated"])
        Profession = st.selectbox("Profession", unique_values["Profession"])
        Work_Experience = st.slider("Work Experience", min_value=0, max_value=14)
        Spending_Score = st.selectbox("Spending Score", unique_values["Spending_Score"])
        Family_Size = st.slider("Family Size", min_value=1, max_value=9)
        Var_1 = st.selectbox("Var_1", unique_values["Var_1"])
        ID = st.slider("ID", min_value=458982, max_value=467974)

        clicked = st.form_submit_button("Predict Segmentation")
        if clicked:
            result = model.predict(pd.DataFrame({"Gender": [Gender],
                                                 "Ever_Married": [Ever_Married],
                                                 "Age": [Age],
                                                 "ID": [ID],
                                                 "Graduated": [Graduated],
                                                 "Profession": [Pros[Profession]],
                                                 "Work_Experience": [Work_Experience],
                                                 "Spending_Score": [Spending_Score],
                                                 "Family_Size": [Family_Size],
                                                 "Var_1": [Var_1]
                                                 }))
            if result[0] == 0:
                result = "A"
            elif result[0] == 1:
                result = "B"
            elif result[0] == 2:
                result = "C"
            else:
                result = "D"
            st.success('Predicted Segmentation: {}'.format(result))

if __name__ == '__main__':
    main()