Spaces:
Sleeping
Sleeping
| import streamlit as st | |
| import pandas as pd | |
| import pickle | |
| # Load the trained model | |
| with open('model_xgb.pkl', 'rb') as file_1: | |
| model_inf_xgb = pickle.load(file_1) | |
| # Function to run the Streamlit app | |
| def run(): | |
| # Set page title and sidebar image | |
| st.write('๐ฎ Customer Churn ๐ฎ') | |
| # Introduction | |
| st.subheader("๐ Prediction of Customer Churn") | |
| st.write("Welcome to the Customer Churn Predictor app! This app predicts whether a customer will Churn on their subscription based on provided information.") | |
| # Input form | |
| st.markdown('## ๐ Input Data') | |
| with st.form('my_form'): | |
| # Input fields | |
| Age = st.number_input('๐ณ Age', min_value=0.0, max_value=65.0) | |
| st.markdown('**Gender:** Male And Female') | |
| Gender = st.selectbox('๐ป Gender', options=['Male', 'Female']) | |
| Tenure = st.number_input('๐ณ Tenure', min_value=0.0, max_value=60.0) | |
| Usage_Frequency = st.number_input('Usage Frequency', min_value=0.0, max_value=30.0) | |
| Support_Calls = st.number_input('Support Calls', min_value=0.0, max_value=10.0) | |
| Payment_Delay = st.number_input('Payment Delay', min_value=0.0, max_value=30.0) | |
| Subscription_Type = st.selectbox('Subscription Type', options=['Basic', 'Standard', 'Premium']) | |
| Contract_length = st.selectbox('Subscription Type', options=['Monthly', 'Annual', 'Quarterly']) | |
| Total_Spend = st.number_input('Total Spend', min_value=100.0, max_value=1000.0) | |
| submitted = st.form_submit_button('๐ Let\'s Check!') | |
| # Create DataFrame from user input | |
| data = { | |
| 'Age': Age, | |
| 'Gender': Gender, | |
| 'Tenure' : Tenure, | |
| 'Usage Frequency' : Usage_Frequency, | |
| 'Support Calls': Support_Calls, | |
| 'Payment Delay' : Payment_Delay, | |
| 'Subscription Type' : Subscription_Type, | |
| 'Contract Length' : Contract_length, | |
| 'Total Spend' : Total_Spend | |
| } | |
| df = pd.DataFrame([data]) | |
| st.dataframe(df) | |
| # Make prediction | |
| if submitted: | |
| prediction = model_inf_xgb.predict(df) | |
| # Display prediction result | |
| if prediction[0] == 0: | |
| st.write('๐ข Not Churn') | |
| else: | |
| st.write('๐ด Churn') | |
| if __name__== '__main__': | |
| run() |