Data leakage nedir? Gerçek projelerden örnekler verin ve nasıl önlersiniz?
Cevap
Data leakage, modelin eğitim sırasında prediction anında gerçekte erişemeyeceği bir bilgiye erişmesidir. Sonuç: offline metrikler mükemmel, production'da model çöker.
Yaygın türler ve örnekler
- Target leakage: Hedefin sonucu olan bir özellik. Örnek: kredi temerrüt modelinde "tahsilat departmanına aktarıldı mı" kolonu. Bu bilgi temerrütten sonra oluşur.
- Train-test contamination: Scaler'ı veya imputer'ı tüm veriye fit etmek, sonra split yapmak. Test istatistikleri train'e sızar.
- Zamansal leakage: Rastgele split ile geleceği görmek. Ya da "son 30 günün ortalaması" özelliğini prediction tarihinden sonraki verilerle hesaplamak.
- Duplicate / grup leakage: Aynı hastanın görüntüleri hem train'de hem test'te.
- Preprocessing leakage: Oversampling (SMOTE) işlemini split'ten önce yapmak.
Önleme
- Önce split, sonra her şey. Tüm dönüşümleri
Pipelineiçine koy. - Her özellik için "bu değer prediction anında biliniyor mu?" sorusunu sor (point-in-time correctness).
- Zamana bağlı verilerde zaman bazlı split kullan.
- Şüpheli derecede yüksek feature importance'a sahip özellikleri incele.
- Feature store'larda point-in-time join kullan.
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import cross_val_score
pipe = Pipeline([("scale", StandardScaler()), ("clf", LogisticRegression())])
cross_val_score(pipe, X, y, cv=5) # scaler her fold'da yalnızca train'e fit edilirİlgili Makine Öğrenmesi soruları
- Hiperparametre optimizasyonunu nasıl yaparsınız? Grid search, random search ve Bayesian optimization'ı karşılaştırın.
- Feature scaling nedir? Standardization ile normalization arasındaki fark nedir ve hangi modeller ölçeklendirme gerektirir?
- PCA (Principal Component Analysis) nasıl çalışır? Ne zaman kullanılır, ne zaman kullanılmamalıdır?
- NumPy kullanarak k-means algoritmasını sıfırdan yazın. k değerini nasıl seçersiniz ve algoritmanın sınırlamaları nelerdir?
- XGBoost ve LightGBM klasik gradient boosting'den hangi açılardan farklıdır? En önemli hiperparametreleri nelerdir?
- Random Forest ile Gradient Boosting arasındaki fark nedir? Bagging ve boosting'i karşılaştırın.
Bu konuda başka bir soru biliyor musun?
Mülakatta karşılaştığın soruları ekle, onaylandıktan sonra yayına alınsın.