İmbalanced Classification Veri Setleri İle Nasıl Başa Çıkılır

Evet bir yerde bir ödev kapsamında İmbalanced bir veri seti ile yapılan işlemlerde Accuracy metriği işlem yapıldığını gördüm ve beynimden vurulmuşa döndüm! Veri setini anlamak yerine direkt olarak algoritmalara ve onları da en düz halleri ile kullanmaları beni gerçek anlamda üzdü. Sonuç olarak böyle bir yazı yazma gereği duydum.

İmbalanced Veri Seti Nedir?

İmbalanced veri seti bir veri setindeki yakalanmak istenen sonucun (Outcome’ın) genellikle bir sonuç değerinin diğerlerinden çok daha fazla olmasıdır. Örnek olarak:

Gördüğünüz üzere No Yes’ten oldukça daha baskındır ve Makine Öğrenmesi Algoritmalarımız belirtilen şartlarda No’ya yönelim gösterebilmektedir. Ve Evet bunu (sadece) Accuracy metriği ile kullanır isek belirtilen yönelimi görmemiz mümkün değildir.

Peki Hangi Metrikleri Kullanalım?

Recall ve Precision. Recall ile Pozitiflerin ne kadarının yakalandığını görmekteyiz. Precision ile de Pozitif denenlerin yüzde kaçı gerçekten pozitif onu görmekteyiz. Örnek olarak yukarıdaki problemde Recall’umuzu mümkün olan en yüksek seviyeye çıkarmamız gerekmektedir.

Artık İmbalanced veri setinin ne olduğunu biliyoruz. Hangi Metriklerin kullanılacağını da bilmekteyiz. Şimdi sırada İmbalanced Veri setleri ile nasıl çalışacağımıza geldi.

UnderSampling Nedir?

DownSampling temel olarak baskın olan sonucun sayısının düşük olana yakın veya eşit bir seviyeye düşürülmesidir. Veri kaybı söz konusudur ancak düzgün bir downsampling yapılır ise DownSampling’in etkisi en azına inmektedir.

OverSampling Nedir?

UpSampling DownSampling’in tam tersi olarak karşımıza çıkmaktadır. Düşük sayıda olan sonucun sayısının baskın olana yakın veya eşit bir seviyeye çıkarılmasıdır. Suni Veri üretilmektedir temel olarak hali hazırdaki verilerden ve öyle olmaması gereken sonuçlar da ortaya çıkabilir ancak genel olarak kullanılabilir bir yöntemdir hem de veri kaybı en düşük seviyededir.

SMOTE nedir?

Smote yakın komşulara bakarak oversampling yapan bir algoritmadır. Neredeyse Bütün makine öğrenmesi kütüphanelerinde bulunmaktadır.

Evet peki verimize herhangi bir over veya undersampling yapmadan yine de kabul edilebilir sonuçlara ulaşmak konusuna geleceke olursak.

İmbalanced Veri Setlerinden az veya hiç etkilenmeyen Algoritmalar Nelerdir?

Genel olarak karar ağacı tabanlı algoritmaların imbalance’lıktan daha az etkilendikleri söylenmektedir. Decision Tree düşük sayıda örneklem söz konusu ise kullanılabilir. Veri sayısı fazla ise RandomForest gibi Algoritmalar çözüm sunabilir.

Son olarak verinizi tanımdan direkt olarak makine öğrenmesi işlemleri kısmına geçmeyin. Exploratory Data Analysis ‘i çok iyi öğrenin ve uygulamaktan kaçınmayın.

Originally published at http://anilkaynr.wordpress.com on May 17, 2021.

Computer Engineer,Sociologist, CSE Master Student