2017-05-11 64 views
2

我有115 * 8000的數據,其中115是功能的數量。當我使用像這樣的matlab pca功能關於Matlab中PCA函數的參數

[coeff,score,latent,tsquared,explained,mu] = pca(data); 

對我的數據。我有一些價值。我在here上閱讀了如何減少我的數據,但有一件事讓我感到困惑。 explained數據顯示功能在計算上有多重,但功能是否在此過程中重新組織,或者功能與我給它的功能完全相同?

此外,我給115個功能,但explained顯示114.爲什麼會發生?

回答

1

數據未在PCA中「重組」,轉換爲新的空間。在裁剪PCA空間時,這是您的數據,但您無法在其中對其進行可視化/理解,您需要使用特徵向量等將其轉換回「正常」空間。

解釋給你114,因爲你現在115是什麼答案! 100%的數據可以用整個數據來解釋!

讀到它進一步在這樣的回答:Significance of 99% of variance covered by the first component in PCA

+0

所以,當我把喜歡PCA的前10個值,並把恢復正常的空間,是否有10個功能是我的第一個10個功能或pca剛剛創建的全新功能? – Bcan

+1

@Ban不,你需要10個特徵向量,你可以只使用這些特徵向量找回所有的數據(115)。但他們不會100%準確,他們將被解釋(10)'%準確 –

+0

那麼我應該使用pca組件進行分類嗎?如果是的話,我怎麼能用PCA來做到這一點。這些類不會被視爲額外的矩陣維度。我應該使用LDA嗎? – Bcan

2

PCA不「選擇」您的一些功能,並刪除其餘部分。 所以你不應該在運行PCA之後考慮原始功能。

它很好地解釋了維基百科上的here。您將樣本從原始要素定義的空間轉換爲要素線性不相關並稱爲「主要要素」的空間。注意:這些組件不再是原始功能。

2D中的一個示例可能是:您在歐幾里得空間中定義了一個矢量z=(2,3)。它需要2個特徵(x和y)。如果我們改變空間並使用座標向量v=(2,3)定義它,並且w是與v的正交向量,那麼現在可以僅用1個特徵(第一座標!)表示。

您分享的鏈接完全解釋了(在選定的答案中)如何使用pca函數的輸出來減少維度。

(如安德指出你不關心最後的成分,因爲這些是最弱不管怎樣,你要刪除它們)