import streamlit as st import numpy as np import pandas as pd import joblib model = joblib.load('Churn_pipe.sav') gender= ("Men","Women") SeniorCitizen= (0,1) Partner= (1, 0) Dependents= (0,1) PhoneService=(1, 0) MultipleLines= (1, 0) InternetService= ('Fiber optic', 'DSL', 'No') OnlineSecurity= (0,1) OnlineBackup= (0,1) DeviceProtection= (1, 0) TechSupport= (0,1) StreamingTV= (0,1) StreamingMovies= (0,1) y_n=("Yes","No") Contract= ('Month-to-month', 'One year' ,'Two year') PaperlessBilling=(1, 0) PaymentMethod= ('Electronic check' ,'Bank transfer (automatic)' ,'Credit card (automatic)', 'Mailed check') st.title('Chuen prediction!') st.write("""### we can predict churn!!""") gender = st.selectbox("gender" ,gender) SeniorCitizen= st.selectbox("SeniorCitizen",(0,1)) Partner= st.selectbox("Partner", y_n) Dependents= st.selectbox("Dependents", y_n) PhoneService=st.selectbox("PhoneService", y_n) MultipleLines= st.selectbox("MultipleLines", y_n) InternetService= st.selectbox("InternetService", InternetService) OnlineSecurity= st.selectbox("OnlineSecurity", y_n) OnlineBackup= st.selectbox("OnlineBackup", y_n) DeviceProtection= st.selectbox("DeviceProtection", y_n) TechSupport= st.selectbox("TechSupport", y_n) StreamingTV= st.selectbox("StreamingTV", y_n) StreamingMovies= st.selectbox("StreamingMovies", y_n) PaperlessBilling=st.selectbox("PaperlessBilling", y_n) Contract=st.selectbox("Contract", Contract) PaymentMethod=st.selectbox("PaymentMethod",PaymentMethod) tenure=st.slider("tenure", 0, 100) MonthlyCharges=st.slider("MonthlyCharges", 0, 200) TotalCharges=st.slider("TotalCharges", 0, 10000) ok = st.button("Calculate Churn") columns = ['gender', 'SeniorCitizen', 'Partner', 'Dependents', 'tenure', 'PhoneService', 'MultipleLines', 'InternetService', 'OnlineSecurity', 'OnlineBackup', 'DeviceProtection', 'TechSupport', 'StreamingTV', 'StreamingMovies', 'Contract', 'PaperlessBilling', 'PaymentMethod', 'MonthlyCharges', 'TotalCharges'] if ok: X_new = np.array([gender, SeniorCitizen, Partner, Dependents, tenure, PhoneService, MultipleLines, InternetService, OnlineSecurity, OnlineBackup, DeviceProtection, TechSupport, StreamingTV, StreamingMovies, Contract, PaperlessBilling, PaymentMethod, MonthlyCharges, TotalCharges]) X_new_df = pd.DataFrame([X_new], columns = columns) yes_no= ['Partner','Dependents','PhoneService','MultipleLines','OnlineSecurity','OnlineBackup', 'DeviceProtection','TechSupport','StreamingTV','StreamingMovies','PaperlessBilling'] for col in yes_no: X_new_df[col].replace({'Yes':1,'No':0},inplace=True) X_new_df['gender'].replace({'Female':1,'Male':0},inplace=True) churn = model.predict(X_new_df) if churn == 1: st.subheader('yes') else: st.subheader('no')