Özellik seçimi için temel bileşen analizi (PCA) kullanma


54

Özellik seçimi konusunda yeniyim ve özellik seçimi yapmak için PCA'yı nasıl kullanacağınızı merak ediyordum. PCA, bilgi vermeyen giriş değişkenlerini filtrelemek için kullanabileceğiniz her giriş değişkeni için göreceli bir puan hesaplar mı? Temel olarak, verilerdeki orijinal özellikleri varyansa veya içerdiği bilgi miktarına göre sipariş edebilmek istiyorum.

Yanıtlar:


75

PCA'yı özellik seçimi için bir araç olarak kullanırken temel fikir, değişkenlerinin katsayılarının ( yüklerin ) büyüklüğüne (en büyükten mutlak değerlere kadar) göre seçilmesidir . PCA'nın, orijinal değişkenlerin ilişkisiz doğrusal kombinasyonları (projeksiyonları) ile (daha fazla veya daha az ilişkili) değişkenleri değiştirmek istediğini hatırlayabilirsiniz . Eldeki sorun için en uygun nasıl seçileceğini görmezden gelelim. Bu ana bileşenler kendi açıklandığı varyans ile önemine göre sıralanmış, ve her bir değişken değerin, her bir bileşen için, çeşitli derecelerde ile katkıda bulunmaktadır. En büyük varyans kriterlerini kullanmak, ekstraksiyon özelliklerine benzer.k < p k kpk<pkk Burada asıl bileşen, orijinal değişkenler yerine yeni özellikler olarak kullanılır. Ancak, yalnızca ilk bileşeni tutmaya karar verebilir ve en yüksek mutlak katsayısına sahip değişkenlerini seçebiliriz ; sayı değişkenlerin sayısı oranına göre olabilir (örneğin, yalnızca üst% 10 tutmak değişken) ya da sabit bir kesme (örneğin, normalize edilmiş katsayılara bir eşik dikkate alınarak). Bu yaklaşım , cezai regresyonda (veya PLS regresyonunda) Kement operatörü ile bazı benzerlikler taşımaktadır . Ne değeri ne de tutulacak bileşen sayısı açık seçimler değildir.j pj<pjpj

PCA kullanımındaki problem (1) projeksiyonda orijinal değişkenlerin hepsinin ölçümlerinin düşük boyutlu uzaya kullanılması, (2) sadece doğrusal ilişkilerin göz önünde bulundurulması ve (3) PCA veya SVD tabanlı yöntemlerin kullanılmasıdır. tek değişkenli tarama yöntemleri (t-testi, korelasyon vb.) olduğundan, veri yapısının potansiyel çok değişkenli doğasını dikkate almayın (örneğin değişkenler arasında daha yüksek dereceli etkileşim).

Nokta 1 ile ilgili olarak, gen ekspresyonu çalışmalarında ' gen tıraşı ' için kullanılan yöntem gibi, temel özellik analizi veya aşamalı yöntem gibi daha ayrıntılı tarama yöntemleri önerilmiştir . Ayrıca, sonuçta ortaya çıkan değişken yüklere dayanarak boyut küçültme ve değişken seçimi yapmak için seyrek PCA kullanılabilir. 2. noktaya gelince, eğer çekirdek olmayan ilişkileri daha düşük boyutlu bir alana yerleştirmek gerekirse , çekirdek PCA'yı ( çekirdek numarasını kullanarak) kullanmak mümkündür . Karar ağaçları veya rastgele orman algoritması daha iyisi, muhtemelen 3. Noktayı çözebilir. İkincisi, Gini veya permitasyona dayalı değişken öneme sahip ölçümlerin türetilmesine izin verir .

Son nokta: Bir sınıflandırma veya regresyon modeli uygulamadan önce özellik seçimi yapmak istiyorsanız, tüm süreci çapraz olarak doğruladığınızdan emin olun (bkz . İstatistiksel Öğrenme Öğelerinin §7.10.2 veya Ambroise ve McLachlan, 2002 ).


R çözümüyle ilgileniyor görünüyorsanız, veri ön işleme ve değişken sınıflandırma veya regresyon bağlamında değişken seçim için birçok kullanışlı fonksiyon içeren caret paketine bir göz atmanızı tavsiye ederim .


1
Burada çok fazla iyi bilgi var, ancak EFA'dan bahsetmediğine şaşırdım. Faktör analizinin, seçim / boyutsallık azaltma özelliklerine uygun olduğunu ve PCA'nın sadece verilerinizi yeniden tanımlamak için, değişkenlerin ilişkisiz olacağı şekilde gerçekten uygun olduğunu düşünüyorum. Sanırım katılmıyorum?
gung - Reinstate Monica

3
Ne tür verilerle uğraştığımızı bilmeden EFA'yı önermek konusunda isteksizim: Hatalar için bir model sunmak (hangi PCA'nın yok) kesinlikle gizli gizli değişkenlerle uğraşırken ya da daha genel olarak gizli bilgiyi ortaya çıkarmaya çalışırken avantajı vardır. yapıları, ancak PCA (uyarıları ile) çoğunlukla boyut küçültme yapmak veya büyük boyutta AFAICT özellik seçimi yapmak için kullanılır. In değişken seçimi için sofistike yöntemler biri yapmak ederken durumunda, EFA uygunsuz olacaktır. OP'nin davasını bilmiyorum, bu yüzden daha fazlasını söyleyemem, ama bu iyi bir söz. np
chl

Belli ki zor, farklı bir konu. Benden çok daha fazla şey bildiğin için senin fikrin ilgimi çekti. +1, btw.
gung - Reinstate Monica

2
İki yorum. Öncelikle, kPCA'yı 2. noktanıza olası bir çözüm olarak söylüyorsunuz. Ancak, özvektörler / yükler mevcut olmadığında kPCA, özellik seçimi için nasıl kullanılabilir? Bununla ilgili fazladan bir soru var ve orada olamayacağını savundum . İkincisi, LASSO'dan bahsetmişseniz, regresyonda özellik seçimi yapmak için tercih edilen (?) Bir yöntem olarak, geçen paragraftan önceki ikinci işleminiz daha da gelişebilir. Bu konu çok popüler olmaya devam ediyor ve birçok soru kopyaları olarak kapanıyor, bu nedenle cevabınızın mümkün olduğu kadar mükemmel olması önemlidir!
amip diyor Reinstate Monica

@chl, bilgilendirici yanıtınız için teşekkür ederiz. "Sadece ilk bileşeni tutmaya karar ver" hakkında konuşuyorsunuz. Neden sadece ilk bileşen? Bir bileşen ile özellikleri / değişkenleri sıralamak kolaydır. Bunu birden fazla bileşenle nasıl yapardınız, örneğin 3? Değişkenleri bileşenler arasında nasıl sıralarsınız? Sanırım, her bir ana bileşenin üzerinden geçebilir ve bu ana bileşenden, daha önce seçilmemiş olan özellikler kümesinden en büyük yüklemeye sahip olan özelliği seçebilirsiniz. Bunlar yine bir sayı (j) ile veya normalize edilmiş katsayıların eşiği ile toplanabilir. Katılıyor musun?
Haziran’da

6

Bir N özellikleri kümesi verildiğinde, bir PCA analizi (1) özelliklerin en yüksek varyansa sahip lineer kombinasyonunu (ilk PCA bileşeni), (2) alt uzaydaki en yüksek varyansa sahip lineer kombinasyonu üretecektir (2) birinci PCA bileşenine dikgen (kombinasyonun katsayılarının birim normlu bir vektör oluşturduğu kısıtlaması altında) Maksimum varyansa sahip lineer kombinasyonun "iyi" bir özellik olup olmadığı, gerçekten ne tahmin etmeye çalıştığınıza bağlıdır. Bu nedenle, bir PCA bileşeni olmanın ve "iyi" bir özellik olmanın (genelde) iki alakasız kavram olduğunu söyleyebilirim.


(-1) Bunun asıl soruya nasıl cevap verdiğini anlamıyorum.
amip diyor Reinstate Monica

-1

PCA'da kullanılan varyans temelde çok boyutlu bir varlık olduğundan, varyanslarına göre özellikler sipariş edemezsiniz. Yalnızca belirli bir yöne varyansın projeksiyonu ile (sadece ilk ana komnonet olan) özellikleri sipariş edebilirsiniz. Yani, bir başka deyişle, bir özelliğin yansıtma yönünüzü nasıl seçtiğinize bağlı olarak bir özellikten daha fazla varyansa sahip olup olmadığıdır.


2
Her orijinal özellik varyans var ve bu yüzden bir kesinlikle: Anlamıyorum can "onların varyans göre sipariş özellikler." Dahası, onları nasıl "nasıl bir yön seçtiğinizi saptayarak tahmin ederek" düzenleyebileceğinizi anlamıyorum. Bununla ne demek istiyorsun?
amip diyor Reinstate Monica

Gerçekten özellikleri sıralamak için varyansı kullanabilirsiniz, ancak bundan sonra tüm özellikleri bir arada ele alan PCA ile bir ilgisi olabilir.
James LI,

İzdüşüm hakkında: Eğer n özelliğiniz varsa, bir yön vektörü sadece n-boyutlu uzayda bir birim vektördür; m eşgörünüm vektörlerinizin izdüşümü, örnek vektörün o boyutsal vektörle sonuçlanan birim vektöre ait ölçek ürünüdür. Ve bu m-boyutlu vektörün varyansı, veri setinin seçilen yöne varyansının "yansıması" dır.
James LI,

1
-1. Cevabınızdaki üç cümlenin her birinin yanlış olduğunu ya da yanıltıcı olduğu konusunda net olmadığını düşünüyorum. Yorumlarda yazdığınız her şeye katılıyorum, ancak cevabınızın nasıl ifade edilebileceği konusunda hiçbir fikrim yok. "Varyanslarına göre özellikleri sipariş edemezsiniz" - ?? Msgstr "Varyansı yalnızca belirli bir yöne yansıtmasıyla özellikleri sipariş edebilirsiniz" - "bir özelliğin daha fazla farkı olup olmadığını ... bağlıdır ..." - ?? Bunların hepsi yanlış.
amip diyor Reinstate Monica

2
Bu sorunun çok uzun zaman önce sorulduğunu bilmiyordum; ve bu cevapların çoğuna katılıyorum. Demek istediğim: PCA özellik seçimi için uygun değil. Sadece buradaki hiç kimse doğrudan bunu söylemek istemez.
James LI
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.