Hangisi önce: algoritma kıyaslama, özellik seçimi, parametre ayarlama?


11

Örneğin bir sınıflandırma yapmaya çalışırken yaklaşımım şu anda

  1. önce çeşitli algoritmaları deneyin ve kıyaslayın
  2. yukarıdaki 1'den en iyi algoritmada özellik seçimi yapın
  3. seçili özellikleri ve algoritmayı kullanarak parametreleri ayarlama

Ancak, diğer algoritmalar en iyi parametre / en uygun özelliklerle optimize edilmişse, kendimi genellikle seçilen algoritmadan daha iyi bir algoritma olabileceğine ikna edemem. Aynı zamanda, tüm algoritmalar * parametreleri * özellikleri arasında bir arama yapmak çok zaman alıcıdır.

Doğru yaklaşım / sekans hakkında herhangi bir öneriniz var mı?

Yanıtlar:


8

Özellik mühendisliği olarak özellik seçimini kastediyorum . Genellikle takip ettiğim ve bazı insanların gördüğü süreç

  1. Özellik mühendisliği
  2. Özelliklerde RandomForest, Gradient Boosted Trees, Neutral Networks veya SVM gibi yüksek performans gösteren birkaç algoritmayı deneyin.

    2.1 Küçük bir parametre aralığında ızgara araması gibi basit parametre ayarlamaları yapın

2. adımın sonucu tatmin edici değilse, daha fazla özellik oluşturmak veya gereksiz özellikleri kaldırmak ve en iyilerini korumak için 1. adıma geri dönün, insanlar genellikle bu özellik seçimini çağırır . Yeni özellikler için fikirleriniz tükeniyorsa daha fazla algoritma deneyin.

Sonuç tamamsa veya istediğiniz şeye yakınsa, 3. adıma geçin

  1. Kapsamlı parametre ayarlama

Bunu yapmanın nedeni, sınıflandırmanın tamamen özellik mühendisliği ile ilgili olmasıdır ve Computer Vision gibi belirli bir sorun için özelleştirilmiş derin öğrenme gibi inanılmaz güçlü bir sınıflandırıcı bilmiyorsanız. İyi özellikler üretmek anahtardır. Sınıflandırıcı seçmek önemlidir, ancak önemli değildir. Yukarıda belirtilen tüm sınıflandırıcılar performans açısından oldukça karşılaştırılabilir ve çoğu zaman en iyi sınıflandırıcı bunlardan biri olduğu ortaya çıkar.

Parametre ayarlama, bazı durumlarda performansı oldukça artırabilir. Ancak iyi özellikler olmadan, ayarlama çok yardımcı olmaz. Unutmayın, her zaman parametre ayarlama için zamanınız vardır. Ayrıca, parametreyi kapsamlı bir şekilde ayarlamanın bir anlamı yoktur, o zaman yeni bir özellik keşfedersiniz ve her şeyi yeniden yaparsınız.


2

Hey sadece sorunuzu gördüm. Önce özellik seçimi yapmak ve sonra çapraz doğrulamayı kullanarak modeli ayarlamak TAMAMEN YANLIŞ. İstatistiksel öğrenme ve bu blog yazısı öğelerinde açıkça belirtilmiştir: CV yöntemi sadece tüm model oluşturma CV döngüsünde yapılırsa tarafsızdır. Parametre ayarı için CV döngüsü içinde özellik seçimi yapın. R'deki MLR paketindeki filtre sargısı kullanılarak kolayca yapılabilir.


1

Benzer bir soruyu burada zaten yanıtladım . Süreç şöyle olacaktır:

  • Dönüşüm ve Azaltma: Dönüşümler, ortalama ve medyan ölçekleme vb. Süreçleri içerir.
  • Özellik Seçimi: Bu, eşik seçimi, altküme seçimi vb.Gibi birçok şekilde yapılabilir.
  • Öngörülü model tasarlama: Eldeki özelliklere bağlı olarak egzersiz verileri üzerinde öngörülü modeli tasarlayın.
  • Çapraz Doğrulama ve parametre ayarlama:
  • Son Tahmin, Doğrulama

Model seçiminden önce daima özellik mühendisliği yapmayı deneyin. Ardından, modeli en iyi özelliklere (veya sorun / bağımlı değişkeni daha iyi etkileme eğilimi gösteren özelliklere) göre seçin.


0

Yeni bir aracın nasıl çalıştığını öğrenmek için zaman ayırmaya hazırsanız, autosklearn'ü deneyebilirsiniz. Sizin için bir ML boru hattı inşa etmek için gereken her şeyi yapar. Özellik ön işleme, seçim, model topluluğu oluşturma ve çapraz doğrulama yoluyla ayarlama. Elde ettiğiniz veri miktarına bağlı olarak, iyi bir tahmin için daha hızlı bir yol olabilir veya olmayabilir. Ama bu kesinlikle ümit verici.

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.