mkManishKumar's picture
Upload 5 files
f715252
import joblib
import streamlit as st
import pandas as pd
def main():
st.title("Bank Customer Churn")
credit_score = st.number_input("Credit Score")
country = st.selectbox("Country", options=['France', 'Spain', 'Germany'])
if country:
st.success(country)
gender = st.radio("Select Gender: ", ('Male', 'Female'))
if (gender == 'Male'):
st.success("Male")
else:
st.success("Female")
age = st.number_input("Age")
tenure = st.number_input("Tenure")
balance = st.number_input("Balance")
products_number = st.number_input("Products Number")
credit_card = st.number_input("Credit Card")
active_member = st.number_input("Active Member")
estimated_salary = st.number_input("Estimated Salary")
submit_button = st.button("Submit")
if submit_button:
# Process the form data
process_form_data(credit_score, country, gender, age, tenure,
balance, products_number, credit_card, active_member, estimated_salary)
def process_form_data(credit_score, country, gender, age, tenure,
balance, products_number, credit_card, active_member, estimated_salary):
encoders = joblib.load('encoders .joblib')
model = joblib.load('rf_model.joblib')
scaler = joblib.load('StandardScaler.joblib')
dataDict = {'credit_score': credit_score, 'country': country, 'gender': gender, 'age': age, 'tenure':tenure,
'balance':balance, 'products_number': products_number, 'credit_card': credit_card,
'active_member': active_member, 'estimated_salary': estimated_salary}
df = pd.DataFrame([dataDict])
decodedData = df.copy()
for col in ['country', 'gender']:
encoder = encoders[col]
decodedData[col] = encoder.transform(decodedData[col])
#
decodedData = scaler.transform(decodedData)
result = model.predict(decodedData)
st.write(df)
if result == 1:
st.warning("Churn")
if result == 0:
st.success("Stay")
if __name__ == "__main__":
main()