Veri üç parçaya neden bölünür: eğitim, doğrulama ve test seti
Sözlük

Veri üç parçaya neden bölünür: eğitim, doğrulama ve test seti

Hazırlayan: Mindset Institute EditörlüğüGüncellendi: 3 dk okuma

Eğitim seti modeli öğretir, doğrulama seti ayarları seçtirir, test seti ise nihai başarıyı bir kez ölçer. Üçünü ayırmak, modelin gerçek performansını olduğundan iyi göstermesini önler.

Bir bakışta

  1. Her parçanın ayrı bir görevi var. Eğitim öğretir, doğrulama ayar yaptırır, test son karneyi verir.
  2. Test setine yalnızca sonda bakılır. Ayarları test sonucuna göre değiştirmek, test setini eğitimin parçası yapar.
  3. Oran veri miktarına göre değişir. Veri büyükse doğrulama ve test payı küçültülebilir, küçükse çapraz doğrulama düşünülür.
  4. Bölme rastgele olmak zorunda değildir. Zaman sırası ya da sınıf dengesi varsa bölme bunlara göre yapılır.

Üç veri parçası ve görevleri

Makine öğrenmesinde eldeki veri çoğunlukla üç ayrı parçaya bölünür. Eğitim seti (training set), modelin parametrelerini öğrendiği verilerdir. Doğrulama seti (validation set), eğitim sırasında modeli karşılaştırmak, hiperparametreleri ve özellik kümesini seçmek için kullanılır. Test seti (test set) ise tüm kararlar verildikten sonra modelin görmediği veride nasıl çalışacağını tahmin etmek için en sonda bir kez açılır.

Bu ayrımın nedeni basittir: bir modeli eğittiği veriyle değerlendirirseniz sonuç gerçekten çok daha iyi görünür, çünkü model o veriyi zaten görmüştür. Doğrulama seti, ayar yapma ihtiyacını test setinden ayırır; böylece test sonucu tarafsız kalır.

Şekil 1

Eğitimden teste her parça bir sonraki karara hizmet eder

  1. Eğitim setiModel parametrelerini buradan öğrenir.
  2. Doğrulama setiModel ve ayar seçimi burada karşılaştırılır.
  3. Test setiSeçilen modelin son, tarafsız ölçümü.
Kaynak: Kaynak: sayfa içeriğiMindset Institute

Veri hangi oranlarda bölünür?

Herkesin kabul ettiği tek bir oran yoktur; yaygın bir başlangıç, verinin büyük bölümünü eğitime, kalanını doğrulama ve test arasında eşit paylaştırmaktır. Örneğin verinin yaklaşık dörtte üçünü eğitime, kalanını doğrulama ve test arasında eşit bölmek sık görülen bir seçimdir. Çok büyük veri setlerinde doğrulama ve test payları, mutlak örnek sayısı yeterli olduğu sürece daha da küçültülebilir.

Veri azsa her parçanın temsil gücü zayıflar. Bu durumda küçük bir doğrulama setine güvenmek yerine, doğrulamayı çapraz doğrulamayla yapıp yalnızca test setini ayrı tutmak çoğunlukla daha sağlıklıdır. Oran kararında asıl soru şudur: test seti, modelin canlıda karşılaşacağı çeşitliliği yansıtacak kadar büyük mü?

Bölme nasıl yapılır?

Genel durumda satırlar rastgele karıştırılıp bölünür ve sonuçların yeniden üretilebilmesi için rastgelelik sabitlenir (random seed). Python'da bu iş birkaç satırlık bir kütüphane çağrısıyla yapılır; ancak doğru bölme biçimi verinin yapısına bağlıdır.

Sınıflandırmada sınıflar dengesizse katmanlı örnekleme kullanılır; böylece nadir sınıf her parçada temsil edilir. Zaman serilerinde ve zamana bağlı verilerde bölme rastgele değil, kronolojik yapılır: eğitim geçmişi, test ise sonraki dönemi kapsar. Aynı müşteriye ya da hastaya ait birden çok kayıt varsa, kayıtlar parçalar arasında bölünmez; kişi bazında gruplanır. Aksi halde model, test setinde zaten tanıdığı kişiyi tahmin eder.

Küçük bir örnek: kredi onay modeli

Bir banka kredi onay modeli geliştiriyor. Geçmiş başvurular eğitim, doğrulama ve test olarak ayrılıyor. Ekip farklı algoritmaları ve düzenlileştirme güçlerini doğrulama setinde karşılaştırıyor, doğrulama hatası en düşük kombinasyonu seçiyor. Ardından seçilen model, test setinde tek seferde değerlendiriliyor ve raporlanan başarı bu sonuç oluyor.

Ekip test sonucunu beğenmeyip modeli yeniden ayarlarsa, test seti artık yeni bir doğrulama setine dönüşür; raporlanacak yeni bir tarafsız ölçüm için taze veri gerekir. Bu yüzden gerçek projelerde test seti, bir tür mühürlü zarf gibi korunur.

Sık yapılan hatalar

En tehlikeli hata veri sızıntısıdır. Ölçekleme, eksik değer doldurma ya da özellik seçimi gibi işlemlerin bölmeden önce tüm veride yapılması, test setinin istatistiklerinin eğitime karışmasına yol açar. Doğrusu, bu işlemlerin yalnızca eğitim setinde öğrenilip diğer parçalara uygulanmasıdır.

Diğer sık hatalar şunlardır: • Aynı kaydın bölünmüş parçalarda tekrar etmesi • Test setine bakarak ayar yapmak • Zamana bağlı veriyi karıştırarak bölmek • Çok küçük bir test setinin sonucuna fazla güvenmek

Şekil 2

Ön işlem bölmeden sonra, yalnızca eğitimden öğrenilir

Sık yapılan
Doğrusu
Tüm veriyi ölçekleyip sonra bölmek
Önce böl, ölçekleyiciyi yalnız eğitimde öğren
Ayarı test sonucuna göre değiştirmek
Ayarı doğrulama setinde yap
Zamanlı veriyi karıştırıp bölmek
Kronolojik sırayı koru
Aynı kişinin kayıtlarını parçalara dağıtmak
Kişi bazında gruplayarak böl
Kaynak: Kaynak: sayfa içeriğiMindset Institute

Mindset programlarında veri bölme

Makine Öğrenmesi (Uygulamalı) Programı'nda model doğrulama ve hiperparametre optimizasyonu modülü, bölme stratejileri ile veri sızıntısını önlemeyi uygulamalı olarak ele almak için uygun bir yerdir. Veri bilimi ekiplerinde çalışanlar, modelin canlıda neden beklenenden kötü çalıştığını anlamak için bu temeli sık kullanır.

İlgili Mindset programı

Makine Öğrenmesi (Uygulamalı) Programı

Sık sorulanlar

Sık sorulan sorular

Doğrulama seti olmadan yalnızca eğitim ve test seti yeterli olur mu?

Ayar yapmadığınız çok basit bir model için olabilir. Ancak algoritma ya da hiperparametre seçecekseniz bu seçimi bir yerde değerlendirmeniz gerekir. Doğrulama seti yoksa seçim test setiyle yapılır ve test sonucu iyimser olur. Veri azsa doğrulama için çapraz doğrulama kullanılabilir.

Test setinde başarı düşük çıkarsa ne yapmalıyım?

Önce nedene bakın: eğitim ve test hatası arasındaki fark büyükse aşırı öğrenme, ikisi de kötüyse yetersiz öğrenme ya da özellik yetersizliği söz konusu olabilir. Düzeltmeleri doğrulama setinde deneyin. Test sonucuna göre defalarca değişiklik yaparsanız yeni bir tarafsız ölçüm için taze veri gerekir.

Çapraz doğrulama bu bölmenin yerini alır mı?

Doğrulama setinin yerini alabilir, test setinin yerini almaz. Çapraz doğrulama, doğrulamayı farklı parçalarda tekrarlayarak az veride daha güvenilir bir ayar seçimi sağlar. Nihai, tarafsız ölçüm için ayrı tutulmuş bir test seti yine önerilir.

Sınıf dengesizse neden katmanlı bölme gerekir?

Rastgele bölmede nadir sınıf bir parçada hiç ya da çok az görünebilir. Böyle bir test seti modelin o sınıftaki başarısını ölçemez. Katmanlı bölme, sınıf oranlarını eğitim, doğrulama ve testte benzer tutarak değerlendirmeyi anlamlı kılar.

Eğitim, Doğrulama ve Test Seti Nedir? Veri Bölme