Bu proje, finansal işlemlerde kredi kartı dolandırıcılığını (fraud) tespit etmek amacıyla geliştirilmiştir. IEEE-CIS veri seti kullanılarak, milyonlarca işlem arasından dolandırıcıları yakalayan bir Makine Öğrenmesi modeli kurulmuştur.
Büyük ölçekli ve dengesiz (imbalanced) veri setleri üzerinde çalışılmış, Feature Engineering teknikleri ile ham veri anlamlı hale getirilmiştir.
Proje boyunca uygulanan stratejiler ile model performansı adım adım zirveye taşınmıştır. Ensemble Learning yöntemi ile Public Score'da 0.92 barajı aşılmıştır.
| Versiyon | Yöntem | Public Score | Private Score | Sonuç |
|---|---|---|---|---|
| v1.0 | Base XGBoost | 0.9102 | 0.8528 | Başlangıç |
| v2.0 | XGBoost + Optuna | 0.9061 | 0.8597 | Stabilizasyon |
| v3.0 | Feature Engineering | 0.9155 | 0.8632 | Zeka Katıldı |
| v4.0 | Ensemble (XGB + LGBM) | 0.9269 | 0.8810 | ZİRVE (Final Model) |
Sonuç: Farklı algoritmaların (XGBoost ve LightGBM) güçlerinin birleştirilmesi (Ensembling), modelin hata oranını ciddi ölçüde düşürmüş ve Private Score'da %2'ye yakın dev bir artış sağlamıştır.
Teknik Not: v3 sürümünde eklenen Aggregation Features (Ortalamadan sapma analizleri) ve Frequency Encoding (Sıklık analizleri) sayesinde model, dolandırıcılık kalıplarını çok daha net tespit etmiştir.
Analiz: v2 modelinde Public Score hafif düşmesine rağmen, gerçek veri setini temsil eden Private Score artmıştır. Bu durum, Optuna optimizasyonunun modeldeki ezberlemeyi (overfitting) azalttığını ve modelin gerçek hayatta daha başarılı olacağını göstermektedir.
- Local ROC-AUC:
0.9708(Eğitim sırasındaki validasyon skoru)
Modelimiz, işlemleri analiz ederken aşağıdaki özelliklere dikkat etmektedir. Grafikte dolandırıcılığı en çok ele veren faktörler görülmektedir:
- Python: Ana geliştirme dili
- XGBoost: Sınıflandırma modeli
- Pandas & NumPy: Veri işleme ve manipülasyon
- Matplotlib & Seaborn: Veri görselleştirme
- İleri Seviye Teknikler:
- Data Leakage Prevention: Time-series split ve Index Slicing yöntemleri
- Class Imbalance Handling:
scale_pos_weightoptimizasyonu - Modular Architecture:
src/klasörü altında temiz kod yapısı
Projeyi kendi bilgisayarınızda çalıştırmak için:
# 1. Repoyu klonlayın
git clone [https://github.com/MehmetcanMutlu/Fraud-Detection-Analysis.git](https://github.com/MehmetcanMutlu/Fraud-Detection-Analysis.git)
# 2. Gerekli kütüphaneleri yükleyin
pip install -r requirements.txt
# 3. Kaggle veri setlerini 'input' klasörüne indirin.
# 4. Modeli eğitin ve tahmin üretin
python3 submission.py