- Sınıf dengesizliği neden bir sorun?
- Önce dengesizliği teşhis edin
- Doğru metrikle ölçün
- Veri düzeyinde çözümler: örnekleme
- Algoritma düzeyinde çözümler: ağırlık ve eşik
- Sızıntıdan kaçının: örneklemeyi doğru yerde uygulayın
- Üretimde izleme ve sık hatalar
- Bu beceriyi Mindset programlarında nerede çalışırsınız?
- Sık sorulan sorular
Dengesiz veriyle model eğitmek: teşhis, örnekleme ve doğru ölçüm
Sınıf dengesizliği olan veride model eğitirken doğru metrik, örnekleme, SMOTE, sınıf ağırlığı ve eşik ayarı nasıl kullanılır? Adım adım rehber.
Sınıf dengesizliği neden bir sorun?
Sınıf dengesizliği, hedef değişkenin sınıflarından birinin diğerinden çok daha az örnekle temsil edilmesidir. Dolandırıcılık tespiti, arıza öngörüsü, hastalık taraması ve müşteri kaybı tahmini gibi sorunların hemen hepsinde ilgilendiğimiz olay nadirdir. Model, çoğunluk sınıfı tahmin ettiğinde zaten çoğu zaman doğru çıkar; bu yüzden öğrenme sırasında azınlık sınıfını görmezden gelmesi kolaylaşır.
Sorunun asıl tehlikesi, hatanın görünmez olmasıdır. Yüksek doğruluk (accuracy) bildiren bir model, tüm örneklere "nadir olay yok" dese bile iyi görünebilir. Ama iş açısından önemli olan, nadir olayı yakalamaktır. Dolayısıyla dengesiz veriyle çalışmak, hem eğitim yöntemini hem de ölçüm yaklaşımını değiştirmeyi gerektirir.
Her dengesizlik müdahale gerektirmez. Azınlık sınıfı yeterli sayıda örneğe sahipse ve doğru metrikle değerlendirme yapılıyorsa, birçok algoritma doğrudan iyi sonuç verir. Önce sorunun gerçekten bu veri yapısından kaynaklanıp kaynaklanmadığı sınanmalıdır.
Önce dengesizliği teşhis edin
İlk iş, sınıf dağılımını görmektir. Hedef sütunun sayımına bakın; ardından dengesizliğin yalnız toplamda mı yoksa alt gruplarda da mı geçerli olduğunu inceleyin. Örneğin bir arıza veri setinde belirli bir makine türü için hiç arıza kaydı olmayabilir; bu durum model için ayrı bir sorundur.
Teşhis aşamasında şunlara bakılır: • Azınlık sınıfındaki toplam örnek sayısı yeterli mi? Yalnız oran değil, mutlak sayı da önemlidir. • Sınıflar birbirinden ayrılabiliyor mu? Çakışma yüksekse yeniden örnekleme tek başına yetmez. • Etiketler güvenilir mi? Gürültülü etiketler, örnekleme sırasında hatayı büyütür. • Veri zamana bağlı mı? Öyleyse karıştırarak bölme sızıntı yaratır.
Bu bilgiler, hangi yöntemin işe yarayacağını belirler. Teşhis yapılmadan doğrudan örnekleme yöntemine geçmek, çözülmesi gerekmeyen bir sorunu çözmeye çalışmak ya da çözülmesi mümkün olmayan bir sorunu gözden kaçırmak sonucunu doğurur.
Doğru metrikle ölçün
Dengesiz veride doğruluk yanıltıcıdır. Bunun yerine hata türlerini ayrı gören metrikler kullanılır. Kesinlik (precision), modelin pozitif dediklerinin kaçının gerçekten pozitif olduğunu; duyarlılık (recall), gerçek pozitiflerin kaçının yakalandığını gösterir. F-skoru bu ikisinin uyumlu ortalamasıdır. Hassas-duyarlılık eğrisinin altındaki alan (PR-AUC) ise nadir olay söz konusu olduğunda ROC-AUC'ye göre çoğu zaman daha bilgilendirici bir tablo sunar.
Metrik seçimi iş maliyetinden türetilir. Dolandırıcılıkta kaçan bir olay pahalıysa duyarlılık öne çıkar; yanlış alarm operasyon yükü yaratıyorsa kesinlik de aynı ağırlıkta tutulur. Bu dengeyi iş birimiyle konuşarak belirleyin ve değerlendirmeyi karışıklık matrisiyle birlikte raporlayın.
Doğrulama düzeni de önemlidir. Sınıf oranlarını koruyan katmanlı (stratified) bölme kullanın; böylece her katmanda azınlık örnekleri bulunur ve metrikler kararlı hale gelir.
Veri düzeyinde çözümler: örnekleme
Yeniden örnekleme, eğitim verisinin sınıf dağılımını değiştirir. Aşırı örnekleme azınlığı çoğaltır, az örnekleme çoğunluğu azaltır. Rastgele aşırı örnekleme (RandomOverSampler), azınlık örneklerini yerine koyarak çeker; basittir ama aynı örnekleri tekrarlayıp aşırı öğrenmeye yol açabilir.
SMOTE (Synthetic Minority Oversampling Technique) ise var olan bir azınlık örneği ile en yakın komşularından biri arasındaki doğru parçası üzerinde yeni yapay örnekler üretir. ADASYN benzer mantıkla çalışır; ancak başka sınıflardan komşusu çok olan, yani sınıflandırması zor bölgelerde daha çok örnek üretir. Karışık sayısal ve kategorik değişkenler için SMOTE'un uygun varyantları vardır; imbalanced-learn kütüphanesi bunları sunar.
Az örnekleme çoğunluk sınıfını seyreltir. Veri çok büyükse hız kazandırır ama değerli bilgiyi atma riski taşır. Pratikte aşırı ve az örneklemeyi birleştirmek de yaygın bir yoldur. Hangisi seçilirse seçilsin, sonucu doğrulama verisinde sınayın; her veri setinde örnekleme fayda sağlamaz.
Algoritma düzeyinde çözümler: ağırlık ve eşik
Veriyi değiştirmeden de ilerlenebilir. Birçok algoritma sınıf ağırlığı (class weight) parametresi taşır; azınlık sınıfında yapılan hata, kayıp fonksiyonunda daha ağır cezalandırılır. Bu, veri seti boyutunu değiştirmeden modeli azınlığa duyarlı kılar ve çoğu zaman örneklemeden daha güvenli bir ilk adımdır.
Eşik ayarı da güçlü bir araçtır. Model olasılık üretir; varsayılan karar eşiği çoğu zaman azınlık için uygun olmaz. Doğrulama verisinde eşiği, iş maliyetini yansıtan bir ölçüte göre belirleyin. Kalibre edilmiş olasılıklar, eşik ve iş kararı arasındaki bağı daha sağlam kurar.
Topluluk yöntemleri de yardımcı olabilir. Dengelenmiş alt kümeler üzerinde eğitilen modellerin birleşimi, tek bir modelin çoğunluğa kayan yanlılığını azaltır. Bazı durumlarda sorunu sınıflandırma yerine anomali tespiti olarak çerçevelemek de daha doğal bir çözümdür; özellikle azınlık sınıfı çok seyrek ve çeşitliyse.
Sızıntıdan kaçının: örneklemeyi doğru yerde uygulayın
En yaygın hata, tüm veriyi önce dengeleyip sonra eğitim ve doğrulama olarak bölmektir. Bu durumda yapay örnekler doğrulama kümesine sızar, model gerçekte görmediği veriyi görmüş olur ve sonuçlar abartılı çıkar. Doğru sıra şudur: önce bölün, örneklemeyi yalnız eğitim kısmına uygulayın, doğrulama ve test verisini gerçek dağılımda bırakın.
Çapraz doğrulamada da aynı ilke geçerlidir. Örnekleme adımı, her katman döngüsünün içinde yalnız eğitim katmanına uygulanmalıdır. Bunu sağlamanın en güvenli yolu, örneklemeyi model ile aynı boru hattına bağlamaktır; böylece her katmanda doğru uygulanır.
Zamana bağlı verilerde karıştırmadan bölme yapılır; gelecekteki örnekler geçmişe sızarsa model gerçek koşullarda aynı başarıyı gösteremez. Son testi ise hiçbir ayar kararında kullanmadığınız ayrılmış bir kümede yapın.
Üretimde izleme ve sık hatalar
Model üretime çıktığında sınıf oranı değişebilir. Dolandırıcılık davranışı evrilir, arıza modelleri mevsimsel değişir; eğitimde dengelenmiş veri, canlı veride aynı dağılımı yansıtmaz. Bu yüzden duyarlılık ve kesinliği canlı akışta izleyin, sınıf oranındaki kaymaları alarm kuralına bağlayın ve model periyodik olarak yeniden eğitilsin.
Sık yapılan hatalar şunlardır: • Doğruluğa bakıp modelin iyi olduğuna karar vermek • Örneklemeyi bölmeden önce uygulamak • Yapay örnekleri doğrulama verisine karıştırmak • Eşiği hiç ayarlamamak • Azınlık sınıfındaki etiket kalitesini sorgulamamak
Her yöntemin bir maliyeti vardır: çoğaltma aşırı öğrenmeyi, az örnekleme bilgi kaybını, sınıf ağırlığı kararsızlığı artırabilir. Yöntemleri küçük deneylerle karşılaştırın, sonucu iş metriğine bağlayıp karar verin.
Bu beceriyi Mindset programlarında nerede çalışırsınız?
Dengesiz Veri ve Örnekleme Stratejileri (Mühendislik) eğitiminin modülleri bu akışı izler: Sınıf Dengesizliğinin Teşhisi ve Etkisi, Örnekleme ve Yeniden Ağırlıklandırma Teknikleri ile Üretim Hattında Dengeleme ve İzleme.
Makine Öğrenmesi (Uygulamalı) Programı ise Model Doğrulama ve Hiperparametre Optimizasyonu ile Dengesiz Veri, Metin ve Zaman Serisi Uygulamaları modüllerini birlikte kapsar; böylece örnekleme becerisi genel model geliştirme sürecinin içinde çalışılır.
İlgili Mindset programı
Dengesiz Veri ve Örnekleme Stratejileri (Mühendislik)
Sık sorulan sorular
SMOTE her zaman işe yarar mı?
Hayır. SMOTE sınıflar birbirinden belirgin biçimde ayrılabiliyorsa yararlıdır; sınıflar çok iç içe ya da etiketler gürültülüyse yapay örnekler hatayı büyütebilir. Önce sınıf ağırlığı ve eşik ayarını deneyin, SMOTE'u doğrulama verisinde kanıtlayabildiğiniz durumda tutun.
Dengesiz veride hangi metrik kullanılmalı?
Doğruluk yerine kesinlik, duyarlılık ve F-skoru ile birlikte karışıklık matrisine bakın. Nadir olay söz konusuysa PR-AUC de kullanışlıdır. Hangisinin öne çıkacağı iş maliyetine bağlıdır: kaçan olay mı yoksa yanlış alarm mı daha pahalı, bunu önce belirleyin.
Örnekleme yapmadan dengesizlikle başa çıkılır mı?
Evet. Sınıf ağırlığı, eşik ayarı, topluluk yöntemleri ve uygun metrik seçimi çoğu zaman veriyi değiştirmeden iyi sonuç verir. Bu seçenekler, yapay örnek üretiminin getirdiği aşırı öğrenme ve sızıntı risklerini de taşımaz, bu yüzden çoğunlukla ilk denenmesi gerekenlerdir.
Dengelemeyi bölmeden önce mi sonra mı yapmalıyım?
Her zaman bölmeden sonra, yalnız eğitim kümesine uygulayın. Önce dengeleyip sonra bölerseniz yapay örnekler doğrulama kümesine sızar ve sonuçlar gerçeğinden iyi görünür. Çapraz doğrulamada da örnekleme her katmanın içinde, yalnız eğitim kısmında yapılmalıdır.
Azınlık sınıfı çok azsa ne yapılır?
Mutlak örnek sayısı çok düşükse yeniden örnekleme sınırlı fayda sağlar. Daha fazla gerçek veri toplamayı, etiketleme çabasını artırmayı ya da problemi anomali tespiti olarak yeniden çerçevelemeyi düşünün. Alan bilgisine dayalı özellik üretimi de modelin sinyali yakalamasına yardım eder.