Rasgele orman sınıflandırmasından önce yüksek boyutlu metin verileri üzerinde PCA?


14

Rastgele Orman Sınıflandırması yapmadan önce PCA yapmak mantıklı mıdır?

Yüksek boyutlu metin verileriyle uğraşıyorum ve boyutsallığın lanetinden kaçınmaya yardımcı olmak için özellik azaltma yapmak istiyorum, ancak Rastgele Ormanlar zaten bir boyut azaltma türüne değil mi?


7
RF algoritması, çok sayıda yordayıcıdan muzdarip değildir, çünkü mtryher ağacı oluşturmak için bunların rastgele bir alt kümesini ( parametre olarak adlandırılır ) alır. RF algoritmasının üzerine inşa edilmiş bir özyinelemeli özellik eleme tekniği de vardır ( varSelRF R paketine ve içindeki referanslara bakın). Bununla birlikte, çapraz doğrulama sürecinin bir parçası olmasına rağmen, bir ilk veri azaltma şeması eklemek kesinlikle mümkündür. Yani soru şu: RF'ye özelliklerinizin doğrusal bir kombinasyonunu girmek istiyor musunuz?
chl

Kaç özellik / boyut, F? > 1K? > 10K? Özellikler ayrık veya sürekli midir, örneğin terim frekansı, tfidf, benzerlik ölçütleri, sözcük vektörleri veya ne? PCA çalışma zamanı F'ye göre ikinci
derecedir


Yanıtlar:


12

Leo Brieman "boyutluluğun bir nimet olabileceğini" yazdı. Genel olarak, rastgele ormanlar büyük veri kümelerinde sorunsuz çalışabilir. Verileriniz ne kadar büyük? Farklı alanlar, konu bilgisine bağlı olarak işleri farklı şekillerde ele alır. Örneğin, gen ekspresyon çalışmalarında genler, bazen spesifik olmayan filtreleme olarak adlandırılan bir işlemde düşük varyansa (sonuca bakmak yok) bağlı olarak atılır. Bu, rastgele ormanlarda çalışma süresine yardımcı olabilir. Ancak gerekli değildir.

Gen ekspresyon örneğine bağlı kalarak, analistler bazen gen ekspresyon ölçümlerini temsil etmek için PCA skorlarını kullanırlar. Fikir, benzer profilleri daha az dağınık olabilecek bir puanla değiştirmektir. Rastgele ormanlar hem orijinal değişkenlerde hem de PCA skorlarında (değişkenler için bir vekil) çalıştırılabilir. Bazıları bu yaklaşımla daha iyi sonuçlar bildirmiştir, ancak bilgilerimle iyi karşılaştırmalar yoktur.

Özetle, RF'yi çalıştırmadan önce PCA yapmaya gerek yoktur. Ama sen yapabilirsin. Yorum, hedeflerinize bağlı olarak değişebilir. Yapmak istediğiniz tek şey tahmin etmekse, yorum daha az önemli olabilir.


Cevap için teşekkürler. Hız bir sorundur, çünkü çoklu etiketli bir problemde binlerce olası etiket var. Uygulama, twitter ve analistlerin belirli olayların açıklamasından elde edilen bir metin verileri topluluğunu sınıflandırıyor. Ben tf-idf ağırlık ve kelime çanta modeli kullanıyorum.
Maus

9

Mevcut cevapların eksik olduğunu düşündüğüm için iki sentimi buna eklemek istiyorum.

PCA gerçekleştirmek, özellikle aşağıdaki resimde gösterildiği gibi belirli bir nedenden ötürü rastgele bir orman (veya LightGBM veya başka herhangi bir karar ağacı tabanlı yöntem) eğitilmeden önce yararlı olabilir.

Temel olarak, eğitim setinizi en yüksek varyanslı yönler boyunca hizalayarak mükemmel karar sınırını bulma işlemini çok daha kolay hale getirebilir.

Karar ağaçları verilerin dönüşüne duyarlıdır, çünkü oluşturdukları karar sınırı her zaman dikey / yataydır (yani eksenlerden birine diktir). Bu nedenle, verileriniz soldaki resme benziyorsa, bu iki kümeyi ayırmak çok daha büyük bir ağaç alacaktır (bu durumda 8 katmanlı bir ağaçtır). Ancak verilerinizi ana bileşenleriyle (doğru resimde olduğu gibi) hizalarsanız, tek bir katmanla mükemmel bir ayırma elde edebilirsiniz!

Tabii ki, tüm veri kümeleri bu şekilde dağıtılmaz, bu nedenle PCA her zaman yardımcı olmayabilir, ancak yine de denemek ve işe yarayıp yaramadığını görmek yararlıdır. Ve sadece bir hatırlatma, PCA yapmadan önce veri kümenizi birim varyansına normalleştirmeyi unutmayın!

Not: Boyutsal küçültmeye gelince, diğer algoritmalarda olduğu gibi rastgele ormanlar için genellikle büyük bir sorun olmadığı konusunda geri kalanlara katılıyorum. Ama yine de, eğitiminizi biraz hızlandırmaya yardımcı olabilir. Karar ağacı eğitim O (n, m, log (m)), burada n, eğitim örnekleri, m sayısı - boyut sayısı. Rastgele ormanlar, eğitilecek her ağaç için rastgele bir boyut alt kümesi seçse de, seçtiğiniz toplam boyut sayısının daha düşük kısmı, iyi performans elde etmek için daha fazla ağaç yetiştirmeniz gerekir.

resim açıklamasını buraya girin


1

Rastgele ormandan önceki PCA, boyutsal azaltma için değil, size rastgele ormanın daha iyi performans gösterebileceği bir şekil vermek için yararlı olabilir.

Genelde verilerinizi orijinal verilerin boyutlarını koruyarak PCA ile dönüştürürseniz, rastgele ormanla daha iyi bir sınıflandırmaya sahip olacağınızdan eminim


PCA çalışma zamanı, F özelliklerinin sayısına göre ikinci derecelidir, bu yüzden her zaman ucuz değildir.
smci

performans tarafından kestirim demek. Hesaplama zamanından bahsetmiyordum
Donbeo

2
Taleplerinize bir gerekçe ekleyebilir misiniz? Görünüşe göre PCA sonuçları her zaman iyileştirmeyecektir. Örneğin, karar sınırı dönüşlere (örneğin bir daireye) değişmediğinde, PCA'nın gerçekleştirilmesi sadece verileri yeniden ölçeklendirir ve döndürür (ve dolayısıyla daireyi), ancak RF yine de çok sayıda dikdörtgen bölmeyle eliptik sınırı yaklaşık olarak hesaplamak zorundadır.
Sycorax, Reinstate Monica'yı
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.