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