A machine learning project that predicts customer churn for a telecom company using real-world data. Built with Scikit-learn pipelines and evaluated with multiple models.
Telecom şirkətlərinin ən böyük problemlərindən biri müştəri itkisidir (churn). Bu layihədə müştərinin şirkəti tərk edib-etməyəcəyini əvvəlcədən proqnozlaşdıran ML modeli qurulmuşdur.
- Mənbə: IBM Telco Customer Churn Dataset
- Ölçü: 7,043 müştəri, 21 feature
- Hədəf:
Churn(Yes/No) - Churn nisbəti: ~26% (imbalanced dataset)
| Addım | Detallar |
|---|---|
| EDA | Churn paylanması, müqavilə növü, internet xidməti analizi |
| Preprocessing | OneHotEncoder (kategorik), StandardScaler (ədədi) |
| Modellər | Logistic Regression, Random Forest, Gradient Boosting, HistGradient Boosting |
| Qiymətləndirmə | F1, ROC-AUC, Confusion Matrix, Classification Report |
| Ən yaxşı model | ROC-AUC əsasında seçilir |
├── Customer_Churn_Telco.ipynb # Əsas notebook
├── WA_Fn-UseC_-Telco-Customer-Churn.csv # Dataset
├── churn_model.pkl # Ən yaxşı model (saxlanılmış)
└── README.md
Modellər aşağıdakı metriklərlə qiymətləndirilmişdir:
- Accuracy — ümumi dəqiqlik
- F1 Score — imbalanced data üçün əsas metrik
- ROC-AUC — bütün threshold-larda ümumi performans
Ən yaxşı model
churn_model.pklfaylında saxlanılmışdır.
- Aylıq müqavilə olan müştərilər daha çox churn edir
- Fiber optik internet istifadəçilərində churn nisbəti daha yüksəkdir
- Yüksək aylıq ödəniş churn ehtimalını artırır
- Uzunmüddətli müştərilər (tenure) daha az churn edir
1. Repo-nu klonlayın
git clone https://github.com/ElcanZeynalabdili1/Customer_Churn_Telco_Project.git
cd Customer_Churn_Telco_Project2. Asılılıqları quraşdırın
pip install -r requirements.txt3. Notebook-u açın
jupyter notebook Customer_Churn_Telco.ipynb- Python — core language
- Pandas & NumPy — data processing
- Matplotlib & Seaborn — vizualizasiya
- Scikit-learn — ML pipeline, modellər
- Joblib — model saxlama
Elcan Zeynalabdili
GitHub
MIT License