chanyaphas's picture
Upload app.py
d40b8b9
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()