joyjitroy commited on
Commit
f980c93
·
verified ·
1 Parent(s): 8b27a61

Upload Bank_Customer_Churn_Prediction_using_Artificial_Neural_Networks.ipynb

Browse files

# 🏦 Bank Customer Churn Prediction — Neural Network Classifier

## 🧩 Overview
Customer churn is one of the most critical challenges faced by the banking and financial industry.
It directly impacts long-term profitability, customer acquisition costs, and overall business growth.

This project leverages **Deep Learning (Artificial Neural Networks)** to predict whether a customer is likely to leave the bank within the next 6 months.
By identifying customers at risk of churn early, banks can take **proactive retention actions**, such as improving engagement, adjusting product offers, or providing personalized incentives.

---

## 🎯 Objective
As a data scientist working for a retail bank, your goal is to build and evaluate a **Neural Network–based classifier** capable of predicting customer churn.
The model helps answer the question:
> “Which customers are most likely to leave the bank in the near future?”

This insight empowers management teams to:
- Target at-risk customers with retention offers
- Prioritize customer service improvements
- Optimize marketing campaigns and loyalty programs

---

## 📊 Dataset Description

| Feature | Description |
|----------|-------------|
| **CustomerId** | Unique ID assigned to each customer |
| **Surname** | Customer’s last name |
| **CreditScore** | Numeric score representing customer’s credit history |
| **Geography** | Country or region of the customer |
| **Gender** | Gender of the customer |
| **Age** | Age in years |
| **Tenure** | Number of years the customer has been with the bank |
| **NumOfProducts** | Number of banking products owned by the customer |
| **Balance** | Current account balance |
| **HasCrCard** | Indicates if the customer owns a credit card (1 = Yes, 0 = No) |
| **EstimatedSalary** | Estimated annual salary of the customer |
| **IsActiveMember** | Indicates if the customer actively uses bank services (1 = Active, 0 = Inactive) |
| **Exited** | Target variable — 1 = Customer left the bank, 0 = Customer retained |

---

## 🧠 Model Details

- **Type:** Feedforward Artificial Neural Network (ANN)
- **Framework:** TensorFlow / Keras
- **Optimizer:** Adam
- **Loss Function:** Binary Cross-Entropy
- **Activation Functions:** ReLU (hidden layers), Sigmoid (output layer)
- **Metrics:** Accuracy, Precision, Recall, F1-score

---

## 🚀 Example Code
```python
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense

# Build the ANN model
model = Sequential([
Dense(16, input_dim=11, activation='relu'),
Dense(8, activation='relu'),
Dense(1, activation='sigmoid')
])

model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])

# Fit the model
model.fit(X_train, y_train, epochs=50, batch_size=32, validation_split=0.2)

.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ Bank_Customer_Churn_Prediction_using_Artificial_Neural_Networks.ipynb filter=lfs diff=lfs merge=lfs -text
Bank_Customer_Churn_Prediction_using_Artificial_Neural_Networks.ipynb ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ed3fb17453b6699c46a37535fdac7df61302d14bff931e2b02ad0daf4dd0c532
3
+ size 11393270