Bu proje, BTK Akademi tarafından Manisa'da düzenlenen AutoML (Otomatik Makine Öğrenmesi) eğitimi kapsamında gerçekleştirilmiş bir bitirme uygulamasıdır.
Projenin temel amacı, telekomünikasyon sektöründeki müşteri verilerini analiz ederek, hizmeti terk etme ihtimali olan müşterileri yapay zeka ile önceden tespit etmek ve şirketler için finansal kayıpları önlemektir.
Standart "Kara Kutu" (Black-Box) AutoML kütüphaneleri yerine, veri işleme sürecinin her adımının (Önişleme, Dengeleme, Model Seçimi) manuel olarak kontrol edildiği ve optimize edildiği şeffaf bir Custom AutoML Pipeline mimarisi geliştirilmiştir.
- Dengesiz Veri Çözümü: SMOTE (Synthetic Minority Over-sampling Technique) ile azınlık sınıfı dengelenmiştir.
- Ablation Study: PCA (Boyut İndirgeme) yönteminin performansa etkisi test edilmiş, saf verinin daha başarılı olduğu kanıtlanmıştır.
- Model Karşılaştırması: LightGBM, Random Forest, XGBoost, SVM, Decision Tree ve Lojistik Regresyon algoritmaları karşılaştırmalı olarak test edilmiştir.
- XAI (Açıklanabilir Yapay Zeka): Modelin karar mekanizması Feature Importance analizi ile şeffaf hale getirilmiştir.
- Ürünleştirme: Gradio kütüphanesi kullanılarak son kullanıcılar için web tabanlı bir arayüz geliştirilmiştir.
Projede başarı metriği olarak, dengesiz veri setlerinde doğruluk (Accuracy) oranından daha güvenilir olan F1 Score kullanılmıştır. Geliştirilen Custom AutoML yapısı, temel modele (Baseline) göre belirgin bir performans artışı sağlamıştır.
| Metrik | Baseline Model (Ham Veri) | Custom AutoML (Final Model) | İyileştirme Oranı |
|---|---|---|---|
| Accuracy | %78.39 | %84.27 | +%6 |
| F1 Score | %55.56 | %84.37 | +%29 |
Sonuç: SMOTE tekniği ve algoritma optimizasyonu sayesinde, giden müşterileri tespit etme başarısı (F1 Score) yaklaşık %29 oranında artırılmıştır.
Modelin tahminlerinde etkili olan en kritik faktörler önem sırasına göre şöyledir:
- MonthlyCharges (Aylık Fatura): Müşteri kaybını tetikleyen en önemli faktör yüksek fatura tutarıdır.
- TotalCharges (Toplam Maliyet): Müşterinin bugüne kadar ödediği toplam tutar arttıkça risk değişmektedir.
- Contract (Sözleşme Tipi): Aylık (taahhütsüz) sözleşmesi olan müşterilerin ayrılma eğilimi daha yüksektir.
Projeyi yerel ortamınızda çalıştırmak için aşağıdaki adımları izleyebilirsiniz.
1. depoyu klonlayın
git clone [https://github.com/4ykutG/AutoML_pipeline](https://github.com/4ykutG/AutoML_pipeline)
cd automl_project
2. Sanal Ortamı Oluşturun ve Aktif Edin
Bash
python3 -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
3. Gereksiz Kütüphaneleri Yükleyin
Bash
pip install -r requirements.txt