İçeriğe geç

Eğitim ve test sızıntısı

Test bilgisinin model kurma aşamasına karışmasıyla oluşan ve başarıyı olduğundan yüksek gösteren ölçüm hatasıdır. Raporlanan puanlar, canlıda gelen yeni verilerde aynı düzeyde çıkmayabilir.

Data leakage · Test contamination

Ölçüm ve kalite · 2 dk okuma · Güncelleme:

Tüm kavramlar

Eğitim ve test sızıntısı nedir?

Eğitim ve test sızıntısı, bir modelin üretimde erişemeyeceği bilginin ya da test örneklerinin öğrenme sürecine girmesidir. Bu durum, değerlendirme sonucunun gerçek performanstan iyi görünmesine yol açar. Hata çoğu zaman veri bölünmeden önce uygulanan ortalama hesabı, ölçekleme, eksik değer doldurma veya değişken seçimi adımlarında doğar. Bu nedenle ekranda görünen başarı oranı tek başına karar dayanağı sayılmamalı, yeni ve ayrı tutulmuş verilerle karşılaştırılmalıdır.

Hazırlık adımlarının sırası

Bir dönüşümün hangi veriden öğrenildiği, ölçümün güvenilirliğini doğrudan belirler. Ortalama, standart sapma, kategori oranları ya da seçilen değişkenler tüm veri üzerinden hesaplanırsa, test örnekleri hakkında bilgi eğitim aşamasına taşınmış olur. Karar ölçütü olarak şu soruya bakılabilir: Bu hesap, modelin daha önce görmediği bir örnek gelmeden yapılabiliyor mu? Cevap evetse bu adım bölmeden sonraya alınmalıdır.

Başarısız bir örnekte bir kargo ekibi, gecikme riskini tahmin etmek için bölge bazlı ortalama süreleri tüm kayıtlardan hesapladı. Test sonucu iyi çıktı, ancak sonraki haftalarda model belirgin biçimde zayıfladı. Düzeltmede dönüşüm yalnızca eğitim kayıtlarında yeniden kuruldu ve test kayıtları bu sabit değerlerle dönüştürüldü. Sonuç daha düşük görünse de yeni verilerle daha tutarlı bir ölçüm elde edildi.

Ayar kararları ve son kontrol

Model türü, eşik değeri veya parametre seçimi test puanına göre yapılıyorsa, test kümesi fiilen eğitimin bir parçasına dönüşür. Karar ölçütü: Her ayar değişikliğinden sonra test puanına bakılıyor mu? Evetse ayrı bir doğrulama kümesi ve yalnızca son aşamada okunan bir test kümesi tasarlanmalıdır. Çapraz doğrulamada da her katın içinde dönüşümlerin yeniden öğrenildiğinden emin olunmalıdır.

Yaygın bir hata, aynı test sorularını kullanarak farklı sistem talimatlarını denemek ve en yüksek puanı veren sürümü seçmektir. Bu yöntemle elde edilen sonuç, ayarın seçildiği soru setine uyumludur ve gerçek kullanıcıda aynı kalitede olmayabilir. Her denemeyi kayda geçirmek ve son kontrolü yalnızca bir kez yapmak bu riski azaltır.

Temsili işletme örneği

Temsili bir lojistik firması, gönderilerin gecikme riskini tahmin eden bir model için geçmiş kayıtlarını hazırladı. Ekip önce tüm dönemin bölge ortalamalarını hesaplayıp sonra veriyi eğitim ve test olarak ayırdı. Test sonucu beklenenden yüksek çıktı; yeni dönem kayıtlarında ise performans belirgin biçimde düştü. Yeniden kurulumda ortalamalar yalnızca eğitim dönemiyle hesaplandı ve test dönemi ona göre dönüştürüldü. Bu örnek yöntemi açıklamak için kurgulanmıştır; gerçek bir işletme ölçümü değildir.

Bölme ve ölçüm yaklaşımı farkı

ÖlçütYanlış yaklaşımDoğru yaklaşım
Ortalama hesabıTüm veriden alınırYalnızca eğitim kayıtlarından alınır
Ayar seçimiTest puanına göre yapılırDoğrulama kümesine göre yapılır
Canlı beklentiÖlçüm yüksek kalır, sonuç düşerÖlçüm daha dürüst, sonuç öngörülebilir

Sık karıştırılan nokta

Test verisine aynı dönüşümü uygulamak, onu eğitime dahil etmek anlamına gelir sanılır. Oysa uygulamak ile öğrenmek farklı işlemlerdir. Dönüşümün parametreleri yalnızca eğitim verisinden öğrenilmeli, test verisi bu parametrelerle dönüştürülmelidir. Ayrıca yüksek bir test puanı, sızıntı olmadığının kanıtı değildir.

Uygulamada dikkat edilecekler

  1. Veriyi, ölçekleme ve kodlama gibi herhangi bir hesaplamadan önce zaman sırasına ya da kayıt kimliğine göre eğitim ve test olarak ayırın.
  2. Ortalama, oran ve seçilen değişken listesi gibi değerleri yalnızca eğitim kayıtlarından hesaplayın; test kayıtlarına bu sabit değerleri uygulayın.
  3. Ön işleme adımlarını tek bir işlem hattında toplayın ve her adımın hangi veri alt kümesinde çalıştığını kayıt altına alın.
  4. Ayar kararlarını ayrı bir doğrulama kümesiyle verin; test kümesinden alınan puanı yalnızca son değerlendirmede bir kez raporlayın.

Sık sorulan sorular

Sızıntıdan şüphelenmek için en hızlı kontrol nedir?

Ön işleme ve model kurma kodunda her hesabın hangi kayıtlardan geçtiğini sırayla izlemek iyi bir başlangıçtır. Bir adımda test kayıtları ortalama, ölçek ya da seçim için kullanılıyorsa sorun vardır. Test puanı çok yüksekse ve yeni veride ani bir düşüş görülüyorsa veri akışı yeniden incelenmelidir.

Zaman serisi verilerinde rastgele bölme yapmak sakıncalı mı?

Çoğu zaman sakıncalıdır. Gelecekteki dönemin bilgisi, geçmişi tahmin eden eğitim kümesine karışabilir. Bu durumda kayıtları zaman sırasına göre bölmek ve test dönemini eğitim döneminden sonra tutmak daha güvenli bir tasarımdır.

Teknik kaynak

scikit-learn.org · Eğitim ve test sızıntısı

Teknik tanım için birincil kaynağa başvurulmuştur. İşletme senaryosu açıklama amacıyla hazırlanmış temsili bir örnektir.

İlgili kavramlar