PCA

5

'da en fazla varyansı gösteren bileşenlerin seçilmesi Eğitim için ihtiyacım olan çok büyük bir veri setim (32000 * 2500) var. Bu, sınıflandırıcım için çok fazla görünüyor, bu yüzden boyutsallık azaltma ve özellikle PCA'ya ilişkin bazı okumalar yapmaya karar verdim.PCA

Anlayışımdan, PCA mevcut verileri seçer ve bunları başka bir (x, y) etki alanı/ölçeğinde yeniden oluşturur. Bu yeni koordinatlar bir anlam ifade etmiyor, ancak veriler bir eksen maksimum varyasyonu verecek şekilde yeniden düzenleniyor. Bu yeni katsayılardan sonra, minimum varyasyona sahip cooeff'u bırakabilirim.

Şimdi bunu MatLab'da uygulamaya çalışıyorum ve sağlanan çıktıyla ilgili sorun yaşıyorum. MatLab her zaman satırları gözlemler ve sütunlar değişken olarak görür. Bu yüzden pca işlevine giriş benim (32000*2500) boyutundaki matrisim olacaktır. Bu, PCA katsayılarını 2500*2500 boyutunda bir çıktı matrisinde döndürür. PCA durumları için

yardım:

Katsayısı her sütun, bir ana bileşen için katsayılar ihtiva eder ve sütun bileşen varyans azalan içindedir.

Bu çıktıda, verilerimin boyutu hangi boyuttadır? Bunu sınıflandırıcıya vermem gerekirse, coeff satırları benim veri gözlemlerimi mi temsil edecek yoksa şimdi coeff sütunları mı olacak?

Ve en az varyasyona sahip katsayıları nasıl kaldırabilirim?

cevap

5

(Yasal Uyarı: scipy için matlab dan geçiş beri uzun zaman oldu, ama mantık aynıdır.)

sen boyutunu azaltmak için daha sonra

svd function

[U,S,V] = svd(X) 
kullanırsanız X - k, V'un ilk k sütunları ile çarpın. Matlab'de, bunu

X * V(:, 1: k); 

teorisi için Elements of Statistical Learning bakınız tahmin ediyorum.

+0

Bu doğrudur. Aferin Ami. +1. – rayryeng

+0

@rayryeng :-) Teşekkürler! –