Ön düzelme daha iyi bir öngörücü model oluşturmaya yardımcı olur mu?


9

Yayık modelleme görevi için şunları düşünüyordum:

  1. Veriler için k kümelerini hesaplama
  2. Her küme için ayrı ayrı k modelleri oluşturun.

Bunun mantığı, kanıtlayacak hiçbir şeyin olmaması, alt kuruluşların nüfusunun homojen olmasıdır, bu nedenle veri üreten sürecin farklı "gruplar" için farklı olabileceğini varsaymak mantıklıdır.

Sorum şu, bu uygun bir yöntem mi? Herhangi bir şeyi ihlal ediyor mu yoksa bir nedenden dolayı kötü mü sayılıyor? Öyleyse neden?

Değilse, bu konuda en iyi uygulamaları paylaşır mısınız? Ve ikinci şey - model ağacından daha iyi önleme yapmak daha iyidir mi (Witten, Frank'te tanımlandığı gibi - yapraklardaki modellerle sınıflandırma / regresyon ağacı. idk "normal" kümelemeye göre herhangi bir avantajı varsa.).

Yanıtlar:


3

Küme yönlü regresyon adı verilen ve benzer problemleri çözen bir yöntem vardır (önce verileri kümeler ve sonra da tahmin modellerini oluşturur). Örneğin buna bakınız .


1
Buraya baktım: tandfonline.com/doi/abs/10.1080/00273170701836653 ve özette aşağıdakileri buldum: "Bazı durumlarda, yanıt değişkenindeki varyasyonun çoğu, nesnelerin kümelenmesiyle açıklanır; buna göre kümelenme gerilemesi ile aşırı uyum sağlama potansiyeli çok yüksek "+ + msgid". Gerçekten umut verici görünmüyor.
Ziel

Tamam, ama her zaman başarısız olduğunu söylemiyorlar. Bu yöntemi hiç kullanmadım, sadece denetimli ve denetimsiz yaklaşımın birleşimi olabileceğini biliyorum, ancak bu yöntemi kullanan az sayıda makale var.
Miroslav Sabo

Ek olarak, bulduğum çoğu uygulama pazarlama ve finans ile ilgilidir, bu yüzden özellikle bu tür veriler için uygundur.
Miroslav Sabo

1
Pazarlama alanı için çok sezgisel görünüyor - karmaşa, çapraz / satış.
Ziel

2

Yorum yapmak için çok uzun olan iki nokta:

  • saf kümeler (yani yalnızca bir sınıftaki vakaları içeren) kendiliğinden sorun değildir: tek sınıf sınıflandırıcılar olarak adlandırılan her sınıf diğerlerinden bağımsız olarak modellenir. Bununla mükemmel bir şekilde başa çıkabilirler.

  • Bununla birlikte, veri kümeleri sınıfların birbirinden tamamen ayrılacağı şekilde, yani kümeler oldukça safsa, bu çok güçlü bir yapının olduğu, küme analizinin sınıf etiketleri tarafından yönlendirilmeden bulabildiği bir yapı anlamına gelir. Bu, küme analizi tarafından kullanılan aynı mesafe ölçüsüne dayanan en yakın komşu yöntemleri gibi belirli sınıflandırıcı türlerinin veriler için uygun olduğu anlamına gelir.

  • Diğer olasılık, kümelerin saf olmadığı, ancak küme ve sınıflandırma yöntemlerinin bir kombinasyonunun iyi yapabileceği durumlar ağaçlar için uygundur. Ağaç kümelenmenin bir bölümünü yapacak (ve saf düğümler sorun olarak kabul edilmeyecektir.) İşte yapay bir örnek, XOR sorununun 2 küme sürümü:
    XOR kümesi

  • saf kümelere sahip olma riski olmadan küme bilgilerini eklemenin başka bir yolu, kümelemeyi bir özellik oluşturma adımı olarak kullanmak olacaktır: küme analizinin sonucunu veri matrisine yeni değişkenler olarak eklemek olacaktır.

  • Bunun bir nedenden dolayı kötü olup olmadığını soruyorsunuz: bir tuzak, bu yaklaşımın birçok serbestlik derecesine sahip modellere yol açmasıdır. Fazla uymamaya özellikle dikkat etmelisiniz.

  • Model tabanlı ağaçlara bir göz atın, örneğin mbq'ın cevabı burada Sanırım aradığınız iskeleye çok yakın bir konsept uyguluyorlar. Orman olarak da uygulanabilirler: örneğin R paketi mobForest .


1

Bugünlerde benzer bir problemle uğraşıyorum. Sınıflandırıcı oluşturmak için yüzlerce özelliğim var. Farklı modelleri denedikten sonra (ör: rastgele ormanlar, gradyan artırma vb.), Hala düşük hassasiyet / hatırlama elde ettim. Bu yüzden biraz kümeleme yapmaya çalışıyorum, sonra farklı gruplarda sınıflandırıcılar oluşturuyorum. Endişem, Anony-Mousse'nin dediği gibi, tüm bilgileri kümeleme sırasında kullanırsam sınıflandırıcıdan nasıl daha fazla bilgi edinebilirim? İşte bundan sonra yapacağım:

  1. Kümeleme yapmak için bazı özellikleri (önceki bilgilere göre daha az) kullanın.
  2. Sınıflandırıcıları eğitmek için diğer özellikleri (daha fazla) kullanın.

Ayrıca karmaşıklığı azaltmaya yardımcı olabileceğini düşünüyorum, yardımcı olmasını dilerim.


1

bina k kümeler ve sonra kkarşılık gelen modeller kesinlikle uygulanabilir. Kümelerin sonuç değişkenlerini mükemmel şekilde ayırdığı patolojik durum sınıflandırıcılar için zorluklar yaratacağı teorik bir problemdir, ancak bence pek olası değildir (özellikle yüksek boyutlu bir durumda). Dahası, bu tür kümeler oluşturabilirseniz, o zaman bu kümeleri tahmin için kullanabilirsiniz!

Ek olarak, eğer süreç başlarsa N- örnekler, sınıflandırıcılar sadece N-/körnekleri. Bu nedenle, daha güçlü bir yaklaşım, kümeleri bir regresyon karışımı kullanarak kümelerdeki heterojenliği içeren tek bir sınıflandırıcı yapımında kullanmak olacaktır. Model tabanlı kümelemede, verilerin bir karışım dağılımından üretildiği varsayılırYben~N-(μben,σben2) nerede ben=1 olasılıkla π ve ben=2 olasılıkla 1-π ve μ1 μ2 ve σ12σ22. Karışım regresyonu, verilerin ortak değişkenlere bağımlı olarak modellenmesini sağlayan bir uzantıdır;μben ile değiştirildi βbenXben, nerede βbentahmin edilmelidir. Bu örnek tek değişkenli, Gausslu bir durum için olsa da, çerçeve birçok veriyi barındırabilir (çok değişkenli logit kategorik değişkenler için uygun olacaktır). Flexmix paketi R için daha ayrıntılı bir açıklama sağlar ve ders nispeten kolay ve genişletilebilir bir şekilde bu yaklaşımı uygulamaktır.

Alternatif olarak, ayrımcı bir ortamda, seçim sınıflandırma algoritmasını (ör. NB, ANN, SVM, RF, vb.) Eğitmek için bir özellik olarak küme atamalarını (sert veya yumuşak) dahil etmeye çalışılabilir.


0

Kümeleriniz gerçekten iyiyse, sınıflandırıcılarınız saçmalık olacaktır. Çünkü eğitim verilerinde yeterince saptırma yok.

Kümelerinizin kusursuz, yani saf olduğunu varsayalım. Artık orada bir sınıflandırıcıyı düzgün bir şekilde eğitemezsiniz. Sınıflandırıcıların olumlu ve olumsuz örneklere ihtiyacı vardır!

Rastgele Orman tam tersini yapmada çok başarılı. Verilerin rastgele bir örneğini alırlar, bu konuda bir sınıflandırıcı eğitir ve daha sonra tüm eğitimli sınıflandırıcıları kullanırlar.

Ne kudreti çalışmaları her bir sınıflandırıcı eğitmek sonra kümeleme kullanın ve etmektir çifti , en azından yeterince katılmıyorum eğer, kümeler (a sınıfı bölünmüş iki kümeler halinde ise, yine bir sınıflandırıcı orada tren olamaz!)


Kümelemenin amacı "saf" kümeler, yani hedef değişkenimi ayırt etmede harika olan kümeler bulmak değildir. Kümelenmenin amacı "diğer" alanda homojen gruplar bulmaktır. Bir örnek vermek gerekirse: Ben karmaşa içinde "sadece kalite" müşteriler ve "maliyet tercihimizin" müşterileri olduğunu düşünüyorum. Sınıflandırma için ilgili özelliklerin her iki grupta da aynı olduğunu varsaymam gerektiğini düşünmüyorum, bu yüzden her grup için ayrı bir model oluşturmak istiyorum. Tabii ki açık "kalite" ve "maliyet" gruplarına sahip değilim.
Ziel

Verilerdeki her türlü ekstra dengesizlik ve korelasyon zarar verebilir. Bkz. Bir sınıflandırıcı "yalnızca kalite" ve "maliyet optimizasyonunu" ayırt etmek isteyebilir . Sadece bir grup alırsa, bu ayrımdan yararlanamaz.
QUIT - Anony-Mousse

1
Ancak yalnızca iki düzeyli bir yaklaşım yaparsanız, önce kümeler tarafından sınıflandırın, ardından küme sınıflandırıcısını değerlendirin. Aksi takdirde, sabit sınıflandırıcı işe yaramaz. Sonra tüm yükü kümelenmeye koyuyorsunuz.
ÇIKIŞ - Anony-Mousse

1
OP'yi böyle anladım.
Sb ile mutsuz cbeleites

1
Bunu elbette yapabilirsiniz, ancak olasılıklar kümelerinizin o kadar iyi olmaması ve uygun bir toplulukla "örtüşen" sınıflandırıcılardan daha iyi durumda olmanızdır. Tıpkı RandomForests gibi.
ÇIKIŞ - Anony-Mousse
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.