SVM dışında hangi algoritmaların özellik ölçeklendirmesi gerekir?


17

Birçok algoritma ile çalışıyorum: RandomForest, DecisionTrees, NaiveBayes, SVM (çekirdek = doğrusal ve rbf), KNN, LDA ve XGBoost. SVM dışında hepsi oldukça hızlıydı. O zaman daha hızlı çalışmak için özellik ölçeklendirmesi gerektiğini bilmeliyim. Sonra aynı şeyi diğer algoritmalar için de yapmam gerekip gerekmediğini merak etmeye başladım.



Yanıtlar:


21

Genel olarak, k-NN ve SVM gibi veri örnekleri arasındaki mesafelerden veya benzerliklerden (örn. Skaler ürün şeklinde) yararlanan algoritmalar özellik dönüşümlerine duyarlıdır.

Fisher LDA veya Naive Bayes gibi grafik model tabanlı sınıflandırıcılar, Karar ağaçları ve Ağaç tabanlı topluluk yöntemleri (RF, XGB) ölçeklendirmeyi değiştirmez, ancak yine de verilerinizi yeniden ölçeklendirmek / standartlaştırmak iyi bir fikir olabilir .


3
+1. Sadece XGBoost'un doğrusal artırmaya dayanan ikinci bir algoritma uyguladığını unutmayın. Ölçekleme burada bir fark yaratacaktır.
usεr11852 diyor Reinstate Monic

2
RF ve XGB için verileri yeniden ölçeklendirme / standartlaştırma hakkında daha fazla bilgi verebilir misiniz? Modelin kalitesini nasıl etkileyebileceğini anlamıyorum.
Tomek Tarczynski

17

Http://www.dataschool.io/comparing-supervised-learning-algorithms/ üzerinde bulduğum ve hangi sınıflandırıcının özellik ölçeklendirmesi gerektiğini gösteren bir liste :

resim açıklamasını buraya girin

Tam tablo:

resim açıklamasını buraya girin

In k-ortalama ayrıca giriş normalleştirmek için gereken kümeleme .

Sınıflandırıcının Yell Bond'un bahsettiği mesafeleri veya benzerlikleri kullanıp kullanmadığını göz önünde bulundurmanın yanı sıra, Stokastik Degrade İniş de özellik ölçeklendirmesine duyarlıdır (Stokastik Degrade İniş güncelleme denklemindeki öğrenme oranı her parametre {1} için aynı olduğundan):

resim açıklamasını buraya girin


Referanslar:


Bu cevaptan yoksun neden bir açıklamadır !! Bunun cevabını gör.
kjetil b halvorsen

2
@kjetilbhalvorsen iyi k-araçları ve SGD için açıkladım, ancak başka birçok algoritma ve model var. Stack Exchange'de 30
bin


@FranckDernoncourt Sana bu konuda bir soru sorabilir miyim? SVM oluşturduğum hem kategorik hem de sürekli verilerin bir veri kümesine sahibim. Sürekli veriler çok eğri (uzun kuyruk). Sürekli dönüşüm için log transformation / Box-Coxve sonra da yapmalıyım normalise the resultant data to get limits between 0 and 1? Bu yüzden günlük değerlerini normalleştireceğim. O zaman sürekli ve kategorik (0-1) verilerdeki SVM'yi birlikte hesaplayın? Sağladığınız herhangi bir yardım için alkış.
Chuck

7

Yi=β0+β1xi+β2zi+ϵi
i=1,,n
xi=(xix¯)/sd(x)zi=(ziz¯)/sd(z)
Yi=β0+β1xi+β2zi+ϵi
β1,2β^1,2
β0=β0β1x¯sd(x)β2z¯sd(z),β1=β1sd(x),β2=β2sd(z)

Ve lineer regresyon davasıyla ilgili bu tartışma, diğer durumlarda nelere dikkat etmeniz gerektiğini söyler: Değişmezlik var mı, değil mi? Genel olarak, öngörücüler arasındaki mesafe ölçümlerine dayanan yöntemler değişmezlik göstermeyecektir , bu nedenle standardizasyon önemlidir. Başka bir örnek kümeleme olacaktır.


1
Uyguladığınız bu özel ölçeklendirme örneğinde, birinin betas kümesini diğerinden nasıl hesapladığını açıkça gösterebilir misiniz?
Mathews24

@kjetil Size bu konuda bir soru sorma talebinde bulunabilir miyim? SVM oluşturduğum hem kategorik hem de sürekli verilerin bir veri kümesine sahibim. Sürekli veriler çok eğri (uzun kuyruk). Sürekli dönüşüm için bir günlük dönüşümü / Box-Cox yapmalı ve sonra da 0 ve 1 arasında sınırlar elde etmek için elde edilen verileri normalleştirmeli miyim? Bu yüzden günlük değerlerini normalleştireceğim. Daha sonra sürekli ve kategorik (0-1) verilerdeki SVM'yi birlikte hesaplayın? Sağlayabileceğiniz herhangi bir yardım için şerefe
Chuck

1
Lütfen bunu yeni bir soru olarak ekleyebilir misiniz? buraya referans ile!
kjetil b halvorsen
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.