Train-Test Split Yerine Stratified Folding Neden Seçiyorum

Train-test split basit ve hızlı. Veriyi ikiye böl, bir kısmıyla eğit, diğeriyle test et. Ama bu yaklaşım bir sorunu gözardı ediyor: dengesiz veri setlerinde şans faktörü çok yüksek.

Sınıflandırma problemlerinde sınıf dağılımı genellikle eşit değildir. Örneğin, sahte işlem tespitinde negatif örnekler pozitiflerden yüz kat fazla olabilir. Rastgele split yaptığında, test setiniz bu dağılımı yansıtmayabilir. Bir sefer şanslı bölüş yaparsınız, modeliniz harika görünür; başka sefer şanssız bölüş, performans düşer. Hangisine güveneceksin?

Stratified k-fold cross-validation bu sorunu çözer. Her fold oluşturulurken, orijinal veri setindeki sınıf oranları korunur. Eğer veri setinde %5 pozitif örnek varsa, her fold da %5 pozitif içerecek. Bunu k kez tekrarlayınca, modelin performansı k farklı test seti üzerinde ölçülür. Son sonuç bu k ölçümün ortalaması olur, çok daha stabil.

Praktik bir örnek: Imbalanced bir veri setinde train-test split ile %92 accuracy elde edebilirsin ama bu sadece sınıf dağılımının uygun olduğu bir şansa bağlı olabilir. Stratified 5-fold ile %85 ± 3 accuracy çıkabilir. İkincisi daha düşük görünse de, gerçek dünyadaki performansını çok daha iyi tahmin eder.

Reklam · TEST
AdSense Test ReklamıYazı arası (gönderi içi) · Yazı arası

Hiperparametre ayarı yapıyorsan stratified folding zorunlu hale geliyor. Train-test split ile tuned parametreler sadece o bölüşe optimize olur; başka veri bölüşünde başarısız olabilir. Cross-validation ile parametreler birden fazla veri kombinasyonunda test edilir.

Bir uyarı: Stratified folding zaman alır. 5-fold cross-validation, train-test split kadar hızlı değildir. Ama doğruluk ve güvenilirlik için bu maliyet çok makul. Hatta çoğu durumda gerekli.

Veri seti çok büyükse (milyonlar satır) ve sınıf dengeli ise, train-test split yeterli olabilir. Ama orta ve küçük veri setlerinde, özellikle dengesiz sınıflarda, stratified k-fold kullanmamak risk almaktır. Modelin gerçek performansını bilmek istiyorsan, bu yöntem standart olmalı.

Reklam · TEST
AdSense Test ReklamıGönderi altı · Görüntülü
konu hakkında tepkinizi verebilirsiniz