Veri Sızıntısı ve Çapraz Doğrulama: Test Skorunuz Neden Yalan Söylüyor?
Mükemmel görünen bir doğrulama skoru çoğu zaman sızıntının işaretidir. Zaman sızıntısı, grup sızıntısı, ölçekleme hatası ve doğru çapraz doğrulama şemasını sezgisel örneklerle anlatıyoruz.
Bir modelin doğrulama skoru beklenenden çok yüksek çıktığında sevinmeden önce şüphelenmek gerekir. Makine öğrenmesinde en sık ve en pahalı hata, modelin eğitim sırasında görmemesi gereken bilgiye erişmesidir: veri sızıntısı. Sızıntının bedeli laboratuvarda değil, üretimde ödenir.
Sızıntı nedir
Sızıntı, tahmin anında gerçekte elinizde olmayacak bir bilginin eğitim verisine karışmasıdır. Model bu bilgiyi bulur, kullanır ve sınavda çok yüksek not alır — çünkü sınav sorularını önceden görmüştür. Üretimde o bilgi olmadığında performans çöker.
Zaman sızıntısı
Zaman içeren her problemde en yaygın hata, veriyi rastgele bölmektir. Rastgele bölme, geleceğe ait örneklerin eğitim kümesine düşmesine izin verir; model geçmişi tahmin etmek için geleceği kullanır.
Doğrusu zamana göre bölmektir: belirli bir tarihten öncesi eğitim, sonrası test. Çapraz doğrulama gerekiyorsa ileri yönlü kayan pencere (walk-forward) kullanılır — her katman yalnızca kendinden önceki veriyle eğitilir.
Grup sızıntısı
Aynı hastanın farklı ölçümleri, aynı kullanıcının farklı oturumları ya da aynı belgeden çıkarılmış farklı paragraflar birbirinden bağımsız değildir. Bunlar eğitim ve test kümesine dağılırsa, model kişiyi ya da belgeyi tanır, deseni değil.
Çözüm gruba göre bölmektir: bir grubun tüm kayıtları ya eğitimde ya testte olur, ikisinde birden asla.
Ön işleme sızıntısı
Bu en sinsi olanıdır. Ölçekleme, eksik değer doldurma ya da özellik seçimi tüm veri üzerinde bölmeden önce yapılırsa, test kümesinin istatistikleri eğitime karışır. Ortalama ve standart sapma bile bir sızıntı kanalıdır.
Doğru yöntem, her adımı bir işlem hattına (pipeline) koymak ve hattı yalnızca eğitim katmanına uydurmaktır. Böylece her katmanda ön işleme yeniden ve yalnızca eğitim verisiyle hesaplanır.
Doğru şemayı seçmek
| Veri yapısı | Uygun şema |
|---|---|
| Bağımsız örnekler, dengeli | K-katlı |
| Bağımsız örnekler, dengesiz | Tabakalı K-katlı |
| Tekrarlayan birimler (hasta, kullanıcı) | Gruba göre K-katlı |
| Zaman serisi | İleri yönlü kayan pencere |
| Çok küçük veri | Tekrarlı K-katlı |
Sık sorulanlar
Sızıntıyı nasıl fark ederim?
Beklenmedik yükseklikte skor, tek bir özelliğin aşırı baskın olması ve üretimde ani performans düşüşü en güçlü işaretlerdir. Özellik önemlerini mutlaka inceleyin.
Hiperparametre seçimi de sızıntı yaratır mı?
Evet. Aynı kümede hem model seçip hem performans raporlarsanız, o skor iyimserdir. Ayrı bir kilitli test kümesi ya da iç içe çapraz doğrulama gerekir.
Test kümesine kaç kez bakabilirim?
İdeal olarak bir kez. Her bakış, kararlarınızı o kümeye uydurur ve skorun tarafsızlığını azaltır.
Sızıntı, kötü modelleri iyi gösteren sessiz bir hatadır ve yalnızca dikkatli bir bölme disipliniyle önlenir. İlgili konular için özellik mühendisliği ve sınıflandırma metrikleri yazılarına göz atabilirsiniz.


