Dengesiz sınıflar - Yanlış negatifler nasıl en aza indirilir?


11

Ben bir ikili sınıf özniteliği olan bir veri kümesi var. Sınıf +1 (kanser pozitif) ile 623 vaka ve sınıf -1 (kanser negatif) ile 101.671 vaka vardır.

Çeşitli algoritmalar denedim (Naif Bayes, Random Forest, AODE, C4.5) ve hepsinin kabul edilemez yanlış negatif oranları var. Random Forest, en yüksek genel tahmin doğruluğuna (% 99.5) ve en düşük yanlış negatif orana sahiptir, ancak yine de pozitif sınıfların% 79'unu kaçırır (yani, malign tümörlerin% 79'unu tespit edemez).

Bu durumu nasıl iyileştirebileceğim konusunda bir fikrin var mı?

Teşekkürler!


Bu soruna ilginç cevaplar aldığım bu soruya bir göz atabilirsiniz . Saygılarımla
Michael Hooreman

Yanıtlar:


9

Sınıf dengesizliği çok yaygın bir sorundur. Pozitif sınıfı aşırı örnekleyebilir (veya negatifi alt örnekleyebilir) veya sınıf ağırlıkları ekleyebilirsiniz.

Bu durumda hatırlanması gereken bir başka şey, doğruluğun burada çok yararlı bir ölçüm olmadığıdır. AUC veya F1 puanını düşünebilirsiniz .

Karar eşiğinizi değiştirmek cazip gelebilir, ancak açıkçası (bu durumda büyük olasılıkla büyük ölçüde) yanlış pozitiflerin artmasına yol açacaktır (belki de testler yasak pahalı değilse, tıbbi teşhis durumunda FP'ler FN'ler kadar kötü değildir).

Sınıf dengesizliği durumunda seçeneklerin daha ayrıntılı bir analizi burada sunulmaktadır .


3

Gerçekte cevap her zaman trueya da olsa da false, sınıf özniteliklerinizi etiket değil kayan nokta sayıları yapabilirsiniz, yani 1.0 ve 0.0 (veya 100 ve 0). Yani, sınıflandırma problemi değil , bir regresyon problemi olabilir.

Daha sonra tahmin edilen çıktı aynı şekilde o spektrumdaki sayılar olacaktır, yani olasılıklar etiket değildir. Mevcut uygulamanız temel olarak 0,5 eşiği ile bir regresyon modeline eşdeğerdir.

Böyle bir çıktı ile siz veya müşteriniz kabul edilebilir bir eşik tanımlayabilirsiniz (örn. 0.3). Elbette o zaman daha yanlış pozitifler olacak, ancak kanseri tespit etmek gibi bazı uygulamalar için bu en uygunudur.

Aşırı örnekleme (pozitifler) veya yetersiz örnekleme (negatifler) de bunu düzeltmenin bir yoludur, ancak dikkatli bir şekilde yapılması gerekir, doğruluğu feda edebilir ve yine de veri ve eğitim oluşturduktan sonra eşiği hareket ettirmek için kontrolü feda eder.


0

Bir teknik olarak yetersiz ve fazla örnekleme zaten belirtilmiş, ancak yaygın olarak kullanılan bir varyantı işaret edeceğimi düşündüm:

SMOTE : Sentetik Azınlık Aşırı Örnekleme Tekniği

Bu makalede 2002 yılında sunuldu . İşte özetten bir pasaj:

Bu makale, azınlık (anormal) sınıfı aşırı örnekleme ve çoğunluk (normal) sınıfını yetersiz örnekleme yöntemimizin bir kombinasyonunun, yalnızca çoğunluk sınıfından az örneklemekten daha iyi sınıflandırıcı performansı (ROC alanında) elde edebileceğini göstermektedir.


Sen kullanarak, Python ile kolayca kullanabilirsiniz paketi içinde yer alır, contrib -bilgi Scikit ait modül ve ayrı olarak yüklenmelidir.imbalanced-learn

dengesiz öğrenme, sınıflar arasında güçlü dengesizlik gösteren veri kümelerinde yaygın olarak kullanılan bir dizi yeniden örnekleme tekniği sunan bir python paketidir.

Bu paket, Keras / Tensorflow'a akabilecek veri yığınları oluşturmak için bir dizi / aşırı örneklemenin birleştirilmesine yönelik yöntemleri ve bir dizi yardımcı programı içerir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.