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.predict(df) # Display prediction result if prediction[0] == 0: st.write('🟢 Not Churn') else: st.write('🔴 Churn') if __name__== '__main__': run()