This project focuses on predicting whether a customer will subscribe to a bank term deposit using Machine Learning classification models. The work was completed as part of a Data Science & Machine Learning Internship at United Network of Professionals (UNP).
The repository demonstrates an end-to-end machine learning workflow including data preprocessing, feature engineering, model comparison, and performance evaluation.
- Perform Exploratory Data Analysis (EDA)
- Handle categorical variables using encoding techniques
- Apply feature selection using Recursive Feature Elimination (RFE)
- Train multiple classification models
- Compare performance using accuracy metrics
- Identify the best predictive model
- Data Cleaning & Preprocessing
- Exploratory Data Analysis (EDA)
- Feature Engineering & Encoding
- SMOTE Oversampling for Imbalance Handling
- Model Training & Evaluation
- Performance Comparison
- Logistic Regression (All Features)
- Support Vector Machine (SVM)
- K-Nearest Neighbours (KNN)
- Decision Tree Classifier
- Random Forest Classifier
- Bagging Classifier
- AdaBoost Classifier
- Gradient Boosting Classifier
- XGBoost Classifier
- Neural Network (TensorFlow)
| Model | Accuracy (%) |
|---|---|
| Logistic Regression (RFE) | 91.10 |
| Logistic Regression (All Data) | 90.59 |
| Support Vector Machine (SVM) | 91.30 |
| K-Nearest Neighbours (KNN) | 91.35 |
| XGBoost Classifier | 92.33 🏆 |
| Gradient Boosting | 92.30 |
| AdaBoost | 91.01 |
| Bagging Classifier | 91.25 |
| Random Forest | 91.28 |
| Decision Tree | 90.85 |
| Neural Network (TensorFlow) | 88.54 |
🏆 Best Performing Model: XGBoost Classifier — Accuracy 92.33%
📌 Ensemble learning methods achieved the highest performance, indicating strong non-linear relationships within the dataset.
Bank_Final
│
├── Bank_Final.ipynb
└── README.md
- Python
- Pandas & NumPy
- Scikit-learn
- TensorFlow / Keras
- XGBoost
- Matplotlib & Seaborn
- Statsmodels
Install dependencies:
pip install -r requirements.txt
Open notebook:
Bank_Final.ipynb
---
## 👨💻 Author
**Aditya Charan Eranki**
Machine Learning | Data Analytics | Data Science Enthusiast