我想在維數爲m x n的矩陣上運行PCA,其中m是特徵數量和n樣本數量。如何使用scikit-learn PCA來減少特徵並知道哪些特徵被丟棄
假設我想保留具有最大方差的nf
特徵。隨着scikit-learn
我能夠做到這樣:
from sklearn.decomposition import PCA
nf = 100
pca = PCA(n_components=nf)
# X is the matrix transposed (n samples on the rows, m features on the columns)
pca.fit(X)
X_new = pca.transform(X)
現在,我得到的就有N×NF的形狀的新矩陣X_new
。是否有可能知道哪些功能已被丟棄或保留的功能?
由於
功能不會被丟棄,它們計劃於較小的尺寸和假設,以揭示不同特徵之間有趣的聯繫。 –
謝謝湯姆,我認爲PCA可以用於特徵選擇,但是(如果我錯了,則是正確的)它僅用於重新調整主要組件上的數據。當你閱讀它時,我想我會結束這個問題。 – gc5
你的輸出矩陣應該是'(n,nf)'形狀,而不是'(nf,n)'。 – eickenberg