Skip to content

This is a simple project that aims to create a basic Artificial Neural Network to predict if bank customers are going to maintain/close their accounts.

License

Notifications You must be signed in to change notification settings

sinanw/ann-bank-customer-retention

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 

Repository files navigation

ANN Classification - Bank Customer Retention

This is a simple project that aims to create a basic Artificial Neural Network to predict if bank customers are going to maintain/close their accounts.

Data Set

The dataset used in an artificial dataset containing details about bank customers. The raw dataset file can be fetched from this folder.

This dataset is labeled and contains information about bank customers, including their credit score, geographic location, gender, age, tenure with the bank, account balance, number of products held, credit card status, membership status, estimated salary, and whether they exited the bank (presumably closed their account).

Data Classification Details

The project is implemented in two distinct steps simulating the essential data processing and analysis phases.

  • Each step is represented in a corresponding notebook inside notebooks.
  • Intermediary data files are stored inside the data path.

PHASE 1 - Data Preprocessing

Corresponding notebook: data-preprocessing.ipynb

Implemented data exploration and cleaning tasks:

  1. Loading the raw dataset file into pandas DataFrame.
  2. Exploring dataset summary and statistics.
  3. Dropping irrelevant columns.
  4. Encoding categorical features using LabelEncoder and OneHotEncoder.
  5. Scaling independent features using StandardScaler.
  6. Storing the processed dataset to a csv file.

PHASE 2 - ANN Training and Evaluation

We used two libraries to build and train the network:

Tensorflow: Corresponding notebook: ann-training-tensorflow.ipynb
Pytorch: Corresponding notebook: ann-training-pytorch.ipynb

Tensorflow - Model architecture and training details:

  • ANN using TensorFlow Sequential.
  • Default input layer.
  • First hidden layer with 6 units and ReLU activation function.
  • Second hidden layer with 6 units and ReLU activation function.
  • Output layer with a single unit and Sigmoid activation function.
  • Optimizer: Adam.
  • Loss function: Binary Crossentropy.
  • Batch size: 32
  • Epochs: 100

Pytorch - Model architecture and training details:

Evaluation method:

About

This is a simple project that aims to create a basic Artificial Neural Network to predict if bank customers are going to maintain/close their accounts.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published