This project builds an end-to-end deep learning pipeline to predict customer churn using an Artificial Neural Network (ANN). It includes preprocessing, feature engineering, hyperparameter tuning, model evaluation with TensorBoard, and deployment using Streamlit.
Customer churn is a major problem in industries like telecom, where retaining existing customers is more cost-effective than acquiring new ones. This project aims to:
- Identify patterns leading to customer churn.
- Predict churn using historical data.
- Provide actionable insights for business decision-making.
- 📊 Univariate & Bivariate Analysis
→ Explored features like gender, tenure, and contract type - 🔥 Churn Distribution & Correlation Analysis
→ Used heatmaps to identify feature relationships and potential churn indicators
- 🧩 Categorical Encoding
→ Applied Label Encoding & One-Hot Encoding where appropriate - 📏 Feature Scaling
→ UsedStandardScalerto normalize numerical inputs - 💾 Saving Pipelines
→ Persisted encoders & scalers usingpicklefor reuse in app deployment
- 🔍 Hyperparameter Tuning
→ Optimized withGridSearchCVto find best batch size, epochs, and optimizer - 🧠 Model Architecture
→ Built an Artificial Neural Network (ANN) using TensorFlow/Keras - 📉 Evaluation & Monitoring
→ IntegratedEarlyStoppingand TensorBoard for training visualization and diagnostics
Below are the training metrics visualized using TensorBoard during model training:
- ✅ Validation Accuracy steadily improved, reaching ~86.9%
- 📉 Validation Loss consistently decreased, indicating effective learning
- 🧠 Training vs. Validation curves show no overfitting, thanks to
EarlyStopping
- 🚀 Deployed via a Streamlit app for real-time, interactive churn prediction
- 🧩 Integrated with saved preprocessing pipeline and trained ANN model
- Languages & Libraries: Python, Pandas, NumPy, Matplotlib, Seaborn
- Machine Learning: Scikit-learn, TensorFlow, Keras
- Hyperparameter Tuning: GridSearchCV
- Visualization & Monitoring: TensorBoard
- Deployment: Streamlit
- Platform: Google Colab + GitHub

