Spaces:
Sleeping
Sleeping
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() | |