İlk denenecek en iyi beş sınıflayıcı


25

Gibi belirgin sınıflandırıcı özellikleri yanında

  • hesaplamalı maliyet
  • beklenen veri türü özellikleri / etiketleri ve
  • veri setlerinin belirli boyut ve boyutlarına uygunluk,

Yeni bir veri setinde önce denenecek ilk beş (veya 10, 20?) sınıflandırıcı hangisi hakkında henüz fazla bir şey bilmiyor (örneğin, bireysel özelliklerin anlambilimi ve korelasyonu)? Genellikle Naive Bayes, En Yakın Komşu, Karar Ağacı ve SVM'yi denerim - bu seçim için onları tanıdığım ve çoğunlukla nasıl çalıştıklarını anladığımdan başka iyi bir nedenim yok.

Sanırım en önemli genel sınıflandırma yaklaşımlarını kapsayan sınıflandırıcılar seçilmelidir . Bu kritere göre veya başka bir nedenle hangi seçimi önerirsiniz?


GÜNCELLEME: Bu soru için alternatif bir formülasyon olabilir: "Sınıflandırmaya hangi genel yaklaşımlar mevcut, hangileri en önemli / popüler / gelecek vaat edenleri kapsıyor?"


Bunun bir kopyası olduğunu düşünüyorum ( stats.stackexchange.com/questions/3458/… ). Buradaki sorunun yalnızca ek değeri "sınıflandırıcı seçme kriterleri" olabilir (bu soruyu çok genel bir soru yapacaktır). Eğer bu bir yinelenen ise, kapanış için oy verin, cw için oy verin;)
steffen

@ steffen: Başvurulan sorunuz faydalı değil, yinelenen olmadığını düşünüyorum. Aslında benim sorum oldukça genel. Belirli bir soruna bir çözüm aramıyorum ama genel nedenlerden dolayı hangi öğrencileri kullanmam gerektiğini - Sorumu buna göre güncelleyeceğim.
Oben Sonne

Yanıtlar:


21

Rastgele Orman

Hızlı, sağlam, iyi doğruluk, çoğu durumda ayarlanması gereken hiçbir şey normalleşmeyi gerektirmez, collinearity'e bağışıklık kazanır, oldukça iyi bir hata yaklaşımı oluşturur ve eğitimin yan etkisi olarak önemsiz bir sıralamanın göz açıp kapayıncaya kadar tahmin edilmesini sağlar.

Dezavantajları: kNN veya NB gibi önemsiz yöntemlere göre daha yavaş, eşit sınıflarla en iyi şekilde çalışır, çaresizce çekirdek gerektiren bir sorun için SVM'den daha kötü doğruluk, sert bir kara kutu, kahve yapmaz.


1
@mbq (+1) Sınıf dengesizliği hakkında, torbalama sırasında hala tabakalı örneklemeye güvenebiliriz.
chl

3
@mbq, kahve yapmıyor mu? İşte orada bir anlaşma kırıcı.
kardinal

Random Forests ile ilgili ipucu için teşekkürler . Ama sadece onları deneyebilir misin? Ya sonuçlardan memnun değilseniz? Başka hangi sınıflandırıcıyı deneyeceksin? Ya da birileri şöyle sorarsa: "Neden diğer yöntemleri denemedin?"
Oben Sonne

@Oben Pekala, anladım ki, cevap başına bir tür sınıflandırma havuzu yapıyorsunuz.

@mbq: Gerçekten değil, ama böyle bir havuz olduğu ortaya çıkıyor. Muhtemelen soruda kendimi yeterince açıklığa kavuşturmadım. Aslında, farklı genel sınıflandırma yöntemlerini (farklı güçlü ve zayıf yönleriyle) kapsayacak şekilde, hangi sınıflandırıcı kümesinin ilk önce deneneceğini bilmek istedim. Her zaman kendime daha fazla sınıflandırıcı denemem gerekip gerekmediğini soruyorum. Şimdiden denediklerimin en tipik / gelecek vaat eden yaklaşımları temsil ettiğini bilmek burada yardımcı olacaktır. Ancak bunun için hangi sınıflayıcı grubu için bunun doğru olduğunu bilmem gerekiyor. (İstatistik uzmanı olmaktan çok uzaktayım, bu yüzden aklımın biraz bükülmüş olup olmadığını bana bildirin)
Oben Sonne

7

Gauss proses sınıflandırıcısı (Laplace yaklaşımını kullanmıyor), tercihen hiper parametrelerinin optimizasyonundan ziyade marjinalleştirme ile. Niye ya?

  1. çünkü olasılıklı bir sınıflandırma yapıyorlar
  2. doğrudan vektörel olmayan veriler üzerinde çalışmanıza ve / veya uzman bilgisini birleştirmenize izin veren bir çekirdek işlevi kullanabilirsiniz.
  3. Modelin uygun şekilde yerleştirilmesindeki belirsizliği ele alırlar ve bu belirsizliği karar verme sürecine geçirebilirsiniz.
  4. genellikle çok iyi prediktif performans.

Downsides

  1. yavaş
  2. çok fazla hafıza gerektirir
  3. büyük ölçekli problemler için pratik değildir.

İlk tercih, düzenli bir şekilde lojistik regresyon veya sırt regresyonunun [özellik seçimi olmadan] yapılmasıdır - çoğu problem için, çok basit algoritmalar oldukça iyi çalışır ve yanlış anlaşılması daha zordur (pratikte algoritmalar arasındaki performans farkları performans farklarından daha küçüktür. onları kullanan operatör arasında).


1

Kendi başıma yeni bir veri setine yaklaşırken tüm sorunu izlemeye başlamalısınız. Öncelikle kategorik özellikler ve her sürekli özellik için ortalama ve standart sapmalar için bir dağılım elde edin. Sonra:

  • % X'tan fazla eksik değere sahip özellikleri silin;
  • Belirli bir değer göreceli frekansın% 90-95'inden daha fazlasını aldığında kategorik özellikleri silin;
  • CV ile devam eden özellikleri silin = std / mean <0.1;
  • Parametre sıralamasını alın; örneğin sürekli ANOVA ve kategorik için Ki-kare;
  • Önemli bir özellik kümesi elde edin;

Sonra sınıflandırma tekniklerini genellikle 2 kümeye böldüm: beyaz kutu ve kara kutu tekniği. 'Sınıflandırıcının nasıl çalıştığını' bilmeniz gerekiyorsa, ilk sette, örneğin Karar Ağaçları veya Kurallara dayalı sınıflandırıcılar seçmelisiniz.

Eğer bir model oluşturmadan yeni kayıtları sınıflandırmanız gerekirse, istekli öğrenenleri, örneğin KNN'yi aramalısınız.

Bundan sonra doğruluk ve hız arasında bir eşiğin olması daha iyi olur: Sinir Ağı SVM'den biraz daha yavaştır.

Bu benim ilk beş sınıflandırma tekniğim:

  1. Karar ağacı;
  2. Kural Tabanlı Sınıflandırıcılar;
  3. SMO (SVM);
  4. Naif bayanlar;
  5. Nöral ağlar.

4
-1 Büyük p küçük için kesinlikle yanlış iş akışı, FS overfitting garanti edilir.

1
KNN, istekli olmaktansa tembel bir öğrenci değil mi (gerçekten bir sınıflandırma modeli ortaya çıktığında gerçekten yapmak zorunda kalana kadar bir şey yapmazsınız)? Sınıflandırıcıyı uygulamadan önce yaptığınız herhangi bir işlemin, performans üzerinde sınıflandırıcılar arasındaki farktan daha büyük bir etkisi olması muhtemeldir; özellik seçimi özellikle zordur (kolayca takılmaya yol açar) ve düzenlileştirmeli SVM gibi yöntemler genellikle özellik seçimi olmadan daha iyi performans gösterir. Kesinlikle sinir ağları, çok fazla potansiyel tuzaklar tavsiye etmem.
Dikran Marsupial
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.