Hızlı Başlangıç

5 dakikada ChurnGuard sistemini kurun ve ilk tahmininizi yapın

Öngereksinimler: Python 3.12+, pip, 2GB RAM

1 Projeyi İndirin

Terminal
cd /home/murat/churn-prediction-system
ls -la

Proje dizininde şu yapıyı görmelisiniz:

  • api/
  • ml/
  • banking/
  • scripts/
  • data/
  • requirements.txt
  • RUN_TESTS.sh

2 Bağımlılıkları Yükleyin

Python paketlerini yükleyin:

Terminal
# pip kur (eğer yoksa)
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py --break-system-packages

# Paketleri yükle
python3 -m pip install --break-system-packages -r requirements.txt
Yüklenen Paketler: FastAPI, Scikit-learn, Pandas, SQLAlchemy, Uvicorn ve daha fazlası

3 Modelleri Eğitin

Otomatik test script'ini çalıştırarak tüm modelleri eğitin:

Terminal
chmod +x RUN_TESTS.sh
./RUN_TESTS.sh

Bu script şunları yapacak:

1000 Telco + 1000 Banking veri oluştur
7 ML modeli eğit
Model performansını doğrula
Model dosyalarını kaydet
Süre: Bu işlem yaklaşık 20-30 saniye sürer

Beklenen Çıktı:

✓ Telco veri oluşturuldu (1000 satır)
✓ Telco model eğitildi (ROC AUC: 96.74%)
✓ Banking veri oluşturuldu (1000 satır)
✓ Banking model eğitildi (ROC AUC: 99.56%)

✅ TÜM MODELLER HAZIR!

4 API'leri Başlatın

İki ayrı terminal penceresinde API'leri başlatın:

Terminal 1: Telco API

Port 8000
python3 -m uvicorn api.main:app --reload --port 8000

Terminal 2: Banking API

Port 8001
python3 -m uvicorn banking.api.main:banking_app --reload --port 8001
İpucu: --reload parametresi development için otomatik yenileme sağlar

API'lerin Çalıştığını Doğrulayın:

Terminal 3
curl https://predictivs.com/api/telco/health
curl https://predictivs.com/api/banking/banking/health

Beklenen Yanıt:

{"status":"healthy","timestamp":"2025-11-09T..."}

5 İlk Tahmininizi Yapın

Telco Örneği

Yüksek riskli bir telco müşterisi test edin:

cURL
curl -X POST "https://predictivs.com/api/telco/log_activity" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "TEST_HIGH_RISK",
    "call_duration_mins": 50.0,
    "data_usage_gb": 2.0,
    "support_tickets_count": 8,
    "contract_type": "Monthly",
    "monthly_charge": 120.0
  }'

Yanıt:

{
  "message": "Müşteri aktivitesi başarıyla kaydedildi",
  "customer_id": "TEST_HIGH_RISK",
  "churn_probability": 0.9973,
  "risk_level": "High",
  "timestamp": "2025-11-09T18:45:00.123456",
  "crm_notified": true
}

Banking Örneği

Kritik bir banking müşterisi test edin:

cURL
curl -X POST "https://predictivs.com/api/banking/banking/log_activity" \
  -H "Content-Type: application/json" \
  -d '{
    "customer_id": "BANK_CRITICAL",
    "account_age_months": 6,
    "account_type": "Checking",
    "num_products": 1,
    "average_balance": 2500.00,
    "total_transaction_count": 8,
    "credit_card_usage_ratio": 0.95,
    "loan_amount": 15000.00,
    "mobile_app_logins": 2,
    "complaint_count": 7
  }'

Yanıt:

{
  "message": "Banking aktivitesi kaydedildi",
  "customer_id": "BANK_CRITICAL",
  "churn_probability": 1.0,
  "risk_level": "Critical",
  "clv": 378.50,
  "priority": 3,
  "risk_categories": ["Financial", "Engagement", "Service Quality"],
  "retention_actions": [
    "Üst düzey yönetici görüşmesi",
    "6 ay ücret muafiyeti",
    "Hesap bakım ücreti muafiyeti"
  ],
  "timestamp": "2025-11-09T18:45:00.123456"
}

6 Swagger UI ile Keşfedin

Interaktif API dokümantasyonunu açın:

Swagger UI'da yapabilecekleriniz:

  • Tüm endpoint'leri görüntüle
  • İnteraktif olarak API test et
  • Request/Response şemalarını incele
  • Örnek verileri dene

Sonraki Adımlar

Sorun Giderme

ModuleNotFoundError hatası alıyorum

Paketleri tekrar yükleyin:

python3 -m pip install --break-system-packages -r requirements.txt
Port zaten kullanımda

Çalışan process'i bulun ve sonlandırın:

lsof -i :8000
kill -9 <PID>
Model dosyası bulunamadı

RUN_TESTS.sh script'ini tekrar çalıştırın:

./RUN_TESTS.sh