CoolFace
Apppublic

dayuima01/M1P2

sourceHugging Faceupdated 3y agoView on Hugging Face
0likes
app.py68 linesDownload Raw Back to root
1import streamlit as st2import pandas as pd3import numpy as np4import joblib5import tensorflow6 7with open('full_pipeline.pkl', 'rb') as file_1:8  model_pipeline = joblib.load(file_1)9 10from tensorflow.keras.models import load_model11model_ann = load_model('churn_model.h5')12 13 14st.title("Customer Churn Prediction")15 16membership_category = st.selectbox('Membership Category',('No Membership', 'Basic Membership', 'Silver Membership', 'Premium Membership', 'Gold Membership', 'Platinum Membership'), index=1)17 18 19avg_transaction_value = st.number_input('Average Transaction Value :', min_value =  800.460000, max_value = 99914.050000, value = 800.460000)20 21 22points_in_wallet = st.number_input('Points In Wallet :', min_value =  0.000000, max_value = 2069.069761, value = 0.000000)23 24 25feedback = st.selectbox('Feedback',('Poor Website', 'Poor Customer Service', 'Too many ads', 'Poor Product Quality', 'No reason specified', 'Products always in Stock', 'Reasonable Price', 'Quality Customer Care', 'User Friendly Website'), index=1)26 27df_inf = pd.DataFrame({28    'membership_category':[membership_category],29    'avg_transaction_value':[avg_transaction_value],30    'points_in_wallet':[points_in_wallet],31    'feedback':[feedback]32})33 34if st.button('Predict'):35    data_inf_transform = model_pipeline.transform(df_inf)36    y_pred_inf = model_ann.predict(data_inf_transform)37    y_pred_inf = np.where(y_pred_inf >= 0.5, 1, 0)38    churn_status = np.where(y_pred_inf == 0, "No", "Yes")39    40    if churn_status == "No":41        st.success(f"The customer is predicted to not churn.")42    else:43        st.error(f"The customer is predicted to churn.")44# submitted = st.form_submit_button('Predict')45# df_inf = pd.DataFrame([df_inf])46# st.dataframe(df_inf)47 48# if st.button('Predict'):49#     data_inf_transform = model_pipeline.transform(df_inf)50#     y_pred_inf = model_ann.predict(data_inf_transform)51#     y_pred_inf = np.where(y_pred_inf >= 0.5, 1, 0)52#     st.write('# Churn :', np.where(y_pred_inf == 0, "No", "Yes"))53            54# model_ann1 = model_ann.predict(df_inf[['membership_category','avg_transaction_value','points_in_wallet','feedback']])55 56# if st.button('Predict'): 57#     final_result_ann = model_ann.predict(df_inf[['membership_category','avg_transaction_value','points_in_wallet','feedback']])58#     st.write('Hasil Prediksi: ')59#     if final_result_ann == 1:60#         st.subheader('Churn')61#     else:62#         st.subheader('No Churn')63 64 65 66 67 68