neden veri dengesizliğini ele almamız gerekiyor?


12

Veri dengesizliği ile neden uğraşmamız gerektiğini bilmem gerekiyor. Bununla nasıl başa çıkacağımı ve yukarı örnekleme ya da aşağı örnekleme ya da Smote kullanarak sorunu çözmek için farklı yöntemler biliyorum.

Örneğin, 100 hastalığın yüzde 1'inde nadir bir hastalığım varsa ve eğitim setim için dengeli bir veri seti oluşturmaya karar verdiğimi varsayalım: 50/50 örnek Makineyi hastaların% 50'sinin sahip olacağını düşündürmeyecek hastalık? oran 100'den 1 olmasına rağmen.

  1. Veri dengesizliği ile neden ilgilenmemiz gerekiyor?
  2. Bakiye ayarlanması için önerilen oran nedir

Bu soruyu seviyorum. Nedenini anlamak çok önemlidir.
DaL

Çapraz doğrulanmış istatistiklerle
questions/

Yanıtlar:


8

Azınlık sınıfını bulma değeri, çoğunluğu bulma değerinden çok daha yüksek olduğunda dengesiz veri seti ile uğraşmanız gerekir.

Nüfusun% 1'inin nadir görülen bir hastalığı olduğunu varsayalım. Sağlıklı bir erkeğin hasta olduğunu veya hasta bir erkeğin sağlıklı olduğunu söylemeye aynı maliyeti verdiğinizi varsayalım. Herkesin sağlıklı olduğunu,% 99 doğruluk elde ettiğini ve eve erken gideceğini söyleyen bir model sağlayın. Böyle bir modelle ilgili sorun, yüksek doğruluğa sahip olmasına rağmen, muhtemelen aradığınız şey olmayacaktır. Çoğu zaman hastalığı olan kişileri (yanlış negatiflere yüksek ağırlık vererek) sağlıklı bir insanı gereksiz testlere (yanlış pozitiflere düşük ağırlık) göndermekten korktuğunuzdan çok daha fazlasını bulmak istersiniz. Gerçek bir dünya sağlık probleminde ağırlık arasındaki oran kolayca 1 ila 1,000 arasında olabilir.

Dağıtımdaki dengesizlik çoğu algoritmanın uygun bir çözüm bulmasını engeller.

Sadece dağıtımı dengelemenin en uygun çözüm olmadığı konusunda haklısınız. Gerçekten de, dengeli bir dağılım üzerine eğitilmiş bir algoritma, değerlendirileceği doğal dağılıma uymaz. En sevdiğim yöntem, burada görebileceğiniz gibi, onu yeniden uyarlamak . Bir tartışma için buraya bakın .

Oranı başka bir soruna ayarlamak, aynı soruna sahip olacağınızdan işe yaramaz.

Smote farklı bir şekilde çalışıyor, bu da denediğimde işe yaramadı, ancak sorununuza uygun olabilir.


Veriyi dengelemenin daha iyi olduğunu anladığım için, çoğu algoritma doğal dağılıma uymasa bile Dengeli veriler üzerinde iyi çalışıyor mu?
sara

"Hata maliyetiniz numune dağıtımına uymadığında" bu cümle hakkında daha fazla ayrıntı verebilir misiniz? Çok iyi alamadım
sara

1
İlk yorumu cevaplamak: Dengesiz veri seti, algoritmaların çoğunu döndürerek iyi sonuçlar elde etmelerini sağlar. Azınlıkla daha fazla ilgileniyorsanız bu bir sorun olacaktır. Dolayısıyla dengeleme, algoritmayı azınlığa daha fazla ağırlık vermeye zorlamanın bir yoludur. Ancak, dengelediğinizde, tren dağıtımı ve test dağıtımı farklıdır, bu nedenle modelinizi test dağıtımına (önerdiğim yöntemde olduğu gibi) uyarlamanız gerekir.
DaL

İkinci yorumu cevaplamak gerekirse: Aslında bu nokta biraz belirsizdi. Cevabı düzenledim. Şimdi anlaşıldı mı?
DaL

evet bu yüzden eğitim ve test dağılımının aynı olması gerektiğini anladığım için, bir çözüm olmayacak, eğitimimi 50 50 oranına dengeledikten sonra gidip de test setimi 50 50'ye ayarladım?
sara

4
  • Kısa cevap:

modelinizi daha iyi hale getirirse (görülmeyen verilerde) sınıf dengesizliği ile uğraşmanız gerekir . "Daha iyi", kendinizi tanımlamanız gereken bir şeydir. Doğruluk olabilir, bir maliyet olabilir, gerçek pozitif oran vb.

  • Uzun cevap:

Sınıf dengesizliği hakkında konuşurken kavraması gereken ince bir nüans var. Yani verileriniz dengesizdir çünkü:

  1. verilerin dağılımı dengesizdir

Bazı durumlarda, bir sınıf diğerinden çok daha fazla meydana gelir. Ve sorun deđil. Bu durumda, bazı hataların diğerlerinden daha maliyetli olup olmadığına bakmanız gerekir. Bu, hastalarda ölümcül hastalıkları tespit etmenin, birinin terörist olup olmadığını anlamanın tipik bir örneğidir. Bu kısa cevaba geri döner. Bazı hatalar diğerlerinden daha pahalıysa, daha yüksek bir maliyet vererek bunları "cezalandırmak" istersiniz. Bu nedenle, daha iyi bir modelin maliyeti daha düşük olacaktır. Tüm hatalar o kadar kötü ise, o zaman maliyet duyarlı modelleri kullanmanızın gerçek bir nedeni yoktur.

Maliyete duyarlı modellerin kullanılmasının dengesiz veri kümelerine özgü olmadığını da belirtmek önemlidir. Verileriniz de mükemmel bir şekilde dengelenirse bu modelleri kullanabilirsiniz.

  1. verilerin gerçek dağılımını temsil etmez

Verilerinizin gerçek dağılımını temsil etmediğinden bazen verileriniz "dengesizdir". Bu durumda, dikkatli olmalısınız, çünkü bir sınıfın "çok fazla" örneğine ve diğerinin "çok az" örneğine sahipsiniz ve bu nedenle, modelinizin bir sınıfta fazla / uygun olmadığından emin olmanız gerekir bu sınıfların.

Bu, maliyetleri kullanmaktan farklıdır, çünkü bir hatanın diğerinden daha kötü olması söz konusu olmayabilir. Olan şey, önyargılı olmanız ve görünmeyen verilerin eğitim aldığınız verilerle aynı dağılıma sahip olmaması durumunda modeliniz için yararlı olmayacağıdır.

Diyelim ki size eğitim verileri veriyorum ve amacınız kırmızı veya mavi bir şey olup olmadığını tahmin etmektir. Kırmızı için maviyi ya da mavi için kırmızıyı karıştırıp karıştırmamak fark etmez. Egzersiz verileriniz, gerçek hayatta yalnızca% 10'unun gerçekleştiği% 90 kırmızı örneklere sahiptir. Modelinizi daha iyi hale getirmek için bununla başa çıkmanız gerekir.


Çok özenli bir cevap. "Modeliniz daha düşük bir maliyete sahip olduğu için daha iyiyse, dengesizlikle ilgilenin." Modelin maliyeti düşükse neden dengesizlikle ilgilenmeliyim?
sara

Cevabımı biraz bu kadar umarım düzenledim, daha açık. Demek istediğim şuydu: "eğer modeliniz düşük maliyetli olduğunda daha iyi kabul edilirse ve dengesizlikle uğraşmak maliyeti düşürürse, o zaman yapın".
Valentin Calomme
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.