import streamlit as st import numpy as np import pandas as pd import pickle import joblib import sklearn model = joblib.load("model_Rf-3.pkl",'rb') st.title("Customer Churn Prediction") st.write("Predict whether a customer will churn based on their details") # ['CreditScore', 'Age', 'Tenure', 'Balance', 'EstimatedSalary'] credit_score = st.number_input("Credit Score",min_value=300,max_value=900) credit_score = credit_score/900 age = st.slider("Age",min_value=18,max_value=100) age = age/92 tenure = st.slider("Tenure",min_value=0,max_value=10) tenure = tenure/10 balance = st.number_input("Balance",min_value=0.0,step=1000.0) balance = balance/250898.090000 num_of_prods = st.slider("Number of Products",min_value=1,max_value=4) num_of_prods = num_of_prods/4 has_cr_card = st.selectbox("Has Credit Card",[0,1],format_func = lambda x:"YES" if x==1 else "NO") is_activemember = st.selectbox("Are you an Active Member",[0,1],format_func = lambda x:"YES" if x==1 else "NO") salary = st.number_input("Estimated Salary",min_value=0.0,step=5000.0) salary = salary/199992.480000 geography = st.selectbox("Please Ennter your Country",["France","Germany","Spain"]) france,germany,spain = 0,0,0 if geography=="France": france = 1 germany = 0 spain = 0 elif geography == "Germany": france = 0 germany = 1 spain = 0 else: france = 0 germany = 0 spain = 1 gender = st.selectbox("Please Ennter your Gender",["Male","Female"]) gender_male , gender_female = 0,0 if gender=="Male": gender_male = 1 gender_female = 0 else: gender_male = 0 gender_female = 1 inputs = np.array([[credit_score,age,tenure,balance,num_of_prods,has_cr_card,is_activemember,salary,france,germany,spain,gender_male,gender_female]]) if st.button("--PREDICT--"): prediction = model.predict(inputs) if prediction[0] == 1: st.error("The customer is likely to churn") else: st.success("The customer is not likely to churn")