Veri kümeleri: Orijinal veri kümesini bölme

İyi yazılım mühendisliği projelerinin tümü, uygulamalarını test etmeye önemli ölçüde zaman ayırır. Benzer şekilde, tahminlerinin doğruluğunu belirlemek için ML modelinizi test etmenizi önemle tavsiye ederiz.

Eğitim, doğrulama ve test kümeleri

Bir modeli, eğitmek için kullanılanlardan farklı bir örnek kümesiyle test etmeniz gerekir. Birazdan öğreneceğiniz gibi, farklı örnekler üzerinde test yapmak, modelinizin uygunluğunun aynı örnek grubu üzerinde test yapmaktan daha güçlü bir kanıtıdır. Bu farklı örnekleri nereden alıyorsunuz? Geleneksel olarak makine öğrenimindeki bu farklı örnekleri, orijinal veri kümesini bölerek elde edersiniz. Bu nedenle, orijinal veri kümesini iki alt kümeye ayırmanız gerektiğini varsayabilirsiniz:

Şekil 8. Yatay bir çubuk, yaklaşık% 80'i eğitim kümesi ve yaklaşık% 20'si test kümesidir.
Şekil 8. Optimum bir dağılım değildir.

 

Alıştırma: Sezgilerinizi kontrol edin

Birden fazla tur boyunca eğitim veri kümesinde eğitim alıp test veri kümesinde değerlendirme yaptığınızı varsayalım. Her turda, hiperparametreleri ve özellik kümesini nasıl güncelleyeceğinize dair yol göstermesi için test kümesi sonuçlarını kullanırsınız. Bu yaklaşımla ilgili bir sorun görüyor musunuz? Yalnızca bir yanıt seçin.
Bu yaklaşım uygundur. Sonuçta, eğitim veri kümesinde eğitim alıyor ve ayrı bir test veri kümesinde değerlendirme yapıyorsunuz.
Bu yaklaşım, hesaplama açısından verimli değildir. Her test turundan sonra hiperparametreleri veya özellik gruplarını değiştirmeyin.
Bu işlemi birçok kez yapmak, modelin test setinin özelliklerine dolaylı olarak uymasına neden olabilir.

Veri kümesini iki gruba ayırmak iyi bir fikirdir ancak daha iyi bir yaklaşım, veri kümesini üç alt kümeye ayırmaktır. Eğitim ve test kümelerine ek olarak üçüncü alt küme şunlardır:

Şekil 9. Üç parçaya bölünmüş yatay çubuk: %70'i eğitim kümesi, %15'i doğrulama kümesi ve %15'i test kümesi
Şekil 9. Çok daha iyi bir dağılım.

Eğitim kümesinden elde edilen sonuçları değerlendirmek için doğrulama kümesini kullanın. Doğrulama veri kümesinin tekrar tekrar kullanılması, modelinizin iyi tahminler yaptığını gösteriyorsa modelinizi tekrar kontrol etmek için test veri kümesini kullanın.

Aşağıdaki şekilde bu iş akışı önerilmektedir. Şekilde "Modeli ayarlama", öğrenme hızını değiştirmekten özellikler eklemeye veya kaldırmaya, sıfırdan tamamen yeni bir model tasarlamaya kadar modelle ilgili her şeyi ayarlama anlamına gelir.

Şekil 10. Aşağıdaki aşamalardan oluşan bir iş akışı şeması:
            1. Modeli eğitim veri kümesinde eğitin.
            2. Modeli doğrulama veri kümesinde değerlendirin.
            3. Modeli, doğrulama veri kümesindeki sonuçlara göre ayarlayın.
            4. 1, 2 ve 3'ü tekrarlayarak doğrulama veri kümesindeki en iyi performansı gösteren modeli seçin.
            5. Test veri kümesindeki sonuçları onaylayın.
Şekil 10. Geliştirme ve test için iyi bir iş akışı.

Şekil 10'da gösterilen iş akışı en uygun olanıdır ancak bu iş akışı kullanılsa bile test ve doğrulama kümeleri tekrarlanan kullanımla "yıpranır". Yani, hiper parametre ayarları veya diğer model iyileştirmeleri hakkında karar vermek için aynı verileri ne kadar çok kullanırsanız modelin yeni verilerle ilgili iyi tahminler yapma olasılığı o kadar düşük olur. Bu nedenle, test ve doğrulama kümelerini "yeniden oluşturmak" için daha fazla veri toplamak iyi bir fikirdir. Yeniden başlamak, sıfırlamak için harika bir yöntemdir.

Alıştırma: Sezgilerinizi kontrol edin

Veri kümesindeki tüm örnekleri karıştırıp karıştırılan örnekleri eğitim, doğrulama ve test kümelerine ayırdınız. Ancak test kümenizdeki kayıp değeri o kadar düşük ki bir hata olduğundan şüpheleniyorsunuz. Sorun ne olabilir?
Test veri kümesi, modelin iyi performans gösterdiği örnekleri içeriyordu.
Eğitim ve test, belirlenemez. Bazen şans eseri test kaybınız inanılmaz derecede düşük olur. Sonucu onaylamak için testi yeniden çalıştırın.
Test veri kümesindeki örneklerin çoğu, eğitim veri kümesindeki örneklerin kopyasıdır.

Test setleriyle ilgili diğer sorunlar

Önceki soruda gösterildiği gibi, yinelenen örnekler model değerlendirmesini etkileyebilir. Bir veri kümesini eğitim, doğrulama ve test kümelerine ayırdıktan sonra, doğrulama veya test kümesinde bulunan ve eğitim kümesindeki örneklerin kopyası olan tüm örnekleri silin. Bir modelin adil test edilmesi için kopya örnekler değil, yeni örnekler kullanılmalıdır.

Örneğin, konu satırı, e-posta gövdesi ve gönderenin e-posta adresini özellik olarak kullanarak bir e-postanın spam olup olmadığını tahmin eden bir model düşünün. Verileri 80-20 oranında eğitim ve test kümelerine ayırdığınızı varsayalım. Eğitimden sonra model hem eğitim veri kümesinde hem de test veri kümesinde% 99 doğruluk elde eder. Test kümesinde daha düşük bir hassasiyet elde etmeyi beklediğiniz için verilere tekrar göz atar ve test kümesindeki örneklerin çoğunun eğitim kümesindeki örneklerin kopyası olduğunu keşfedersiniz. Sorun, verileri bölme işleminden önce aynı spam e-postayla ilgili yinelenen girişleri giriş veritabanınızdan temizlememenizden kaynaklanıyor. Test verilerinizin bir kısmını yanlışlıkla eğittiniz.

Özet olarak, iyi bir test veya doğrulama kümesi aşağıdaki tüm ölçütleri karşılar:

  • İstatistiksel olarak anlamlı test sonuçları elde edecek kadar büyük olmalıdır.
  • Veri kümesini bir bütün olarak temsil eder. Diğer bir deyişle, eğitim veri kümesinden farklı özelliklere sahip bir test veri kümesi seçmeyin.
  • Modelin, iş amacının bir parçası olarak karşılaşacağı gerçek dünya verilerini temsil eder.
  • Eğitim kümesinde yinelenen sıfır örnek.

Alıştırmalar: Öğrendiklerinizi test edin

Sabit sayıda örnek içeren tek bir veri kümesi verildiğinde aşağıdaki ifadelerden hangisi doğrudur?
Test kümesindeki örnek sayısı, doğrulama kümesindeki örnek sayısından büyük olmalıdır.
Modelin test edilmesinde kullanılan her örnek, modelin eğitiminde kullanılan bir örnekten daha azdır.
Test kümesindeki örnek sayısı, doğrulama kümesindeki veya eğitim kümesindeki örnek sayısından daha büyük olmalıdır.
Test veri kümenizin istatistiksel olarak anlamlı bir test yürütmek için yeterli örnek içerdiğini varsayalım. Ayrıca, test grubuna karşı test yapmak düşük kayıp sağlar. Ancak model gerçek dünyada kötü performans gösterdi. Bu durumda ne yapmanız gerekir?
Aynı test grubunda yeniden test edin. Test sonuçları anormal olabilir.
Asıl veri kümesinin gerçek dünyadaki verilerden nasıl farklı olduğunu belirleyin.
Test veri kümesi kaç örnek içermelidir?
Asıl veri kümesinin en az% 15'i.
İstatistiksel olarak anlamlı bir test elde etmek için yeterli örnek.