Sudheer17's picture
Update Readme.md
55dd5bd verified
|
Raw
History Blame Contribute Delete
4.79 kB

🏦 Bank Customer Churn Prediction using Artificial Neural Network (ANN)

Overview

This project is an AI-powered Bank Customer Churn Prediction System developed using Deep Learning (Artificial Neural Networks). The application predicts whether a customer is likely to leave the bank based on their personal and financial information.

The model is deployed using Streamlit and can be easily hosted on Hugging Face Spaces for public access.


Features

  • Deep Learning-based customer churn prediction
  • Interactive Streamlit web interface
  • Real-time predictions
  • Standardized input preprocessing using StandardScaler
  • Probability score for each prediction
  • Clean and user-friendly interface

Dataset

The project uses the Bank Customer Churn Dataset.

Input Features

Feature Description
CreditScore Customer's credit score
Gender Male or Female
Age Customer age
Tenure Number of years with the bank
Balance Current account balance
NumOfProducts Number of bank products owned
HasCrCard Whether the customer has a credit card
IsActiveMember Whether the customer is an active member
EstimatedSalary Estimated annual salary

Target Variable

Target Meaning
0 Customer Stays
1 Customer Leaves (Churn)

Technologies Used

  • Python
  • TensorFlow / Keras
  • NumPy
  • Pandas
  • Scikit-learn
  • Joblib
  • Streamlit

Deep Learning Architecture

  • Input Layer: 9 Features
  • Hidden Layer 1: Dense Layer (ReLU)
  • Hidden Layer 2: Dense Layer (ReLU)
  • Output Layer: Dense Layer (Sigmoid)

Activation Functions

  • ReLU
  • Sigmoid

Loss Function

Binary Crossentropy

Optimizer

Adam Optimizer

Evaluation Metric

Accuracy


Data Preprocessing

The following preprocessing steps were applied before training:

  • Removed unnecessary columns
  • Encoded Gender
  • Feature Scaling using StandardScaler
  • Train-Test Split
  • Normalized numerical features

The trained StandardScaler is saved as:

scaler.pkl

to ensure identical preprocessing during deployment.


Model Files

ann_model.h5

Trained Artificial Neural Network model.

scaler.pkl

Saved StandardScaler used during training.

app.py

Streamlit application.


Project Structure

Bank-Customer-Churn-Prediction/
β”‚
β”œβ”€β”€ app.py
β”œβ”€β”€ ann_model.h5
β”œβ”€β”€ scaler.pkl
β”œβ”€β”€ requirements.txt
β”œβ”€β”€ README.md
└── dataset.csv

Installation

Clone the repository

git clone <repository-url>

Move into the project

cd Bank-Customer-Churn-Prediction

Create Virtual Environment

python -m venv venv

Activate Virtual Environment

Windows

venv\Scripts\activate

Linux / macOS

source venv/bin/activate

Install dependencies

pip install -r requirements.txt

Run the Application

streamlit run app.py

How the Prediction Works

  1. User enters customer information.
  2. Input data is converted into numerical format.
  3. Features are scaled using the saved StandardScaler.
  4. The trained ANN predicts the probability of customer churn.
  5. If the probability is greater than 0.5, the customer is predicted to leave the bank; otherwise, the customer is predicted to stay.

Example Prediction

Input

Credit Score: 619
Gender: Female
Age: 42
Tenure: 2
Balance: 0
Products: 1
Credit Card: Yes
Active Member: Yes
Estimated Salary: 101348.88

Output

Prediction Probability: 0.34

Customer is likely to Stay.

Requirements

streamlit
tensorflow
numpy
pandas
scikit-learn
joblib

Future Improvements

  • Support Geography feature
  • Explain predictions using SHAP
  • Interactive analytics dashboard
  • Batch prediction from CSV
  • REST API using FastAPI
  • Docker deployment
  • Cloud deployment on AWS or Azure

Deployment

This project can be deployed on:

  • Hugging Face Spaces
  • Streamlit Community Cloud
  • Render
  • Railway
  • AWS EC2
  • Microsoft Azure
  • Google Cloud Platform

Author

Sudheer Muthyala

B.Tech – Electronics and Communication Engineering

Aspiring Data Scientist | AI & Machine Learning Enthusiast


License

This project is intended for educational and portfolio purposes. Feel free to fork, modify, and build upon it while providing appropriate attribution.