2015-10-18 103 views
1

我有35個功能組成的矩陣,我需要減少那些 功能,因爲我覺得很多變量依賴。我undertsood PCA 可以幫助我做到這一點,因此,使用MATLAB,我計算:主成分分析和功能降低

[coeff,score,latent] = pca(list_of_features) 

我注意到「_係數」包含矩陣我明白這(糾正我,如果我錯了)具有高柱重要性在左邊,第二欄重要性不那麼重要等等。但是,目前還不清楚,我對「_係數」這列涉及到對我原先的「list_of_features」這樣我就可以知道哪些變量更重要的是哪一列。

回答

1

PCA不給你對你的原有特色的順序關係(其特點是更「重要」,那麼其他人),而是給出了功能空間,你的方向,下令根據變化,從高方差(第一方向,或主要成分)低方差。方向通常是原始功能的線性組合,因此您無法期望獲得有關單個功能的信息。

你可以做的是要扔掉的方向(一個或多個),或者換句話說項目中,您將數據通過主成分的子集張成的子空間。通常情況下,您想要以低方差投擲方向,但這真的是一個取決於您的應用程序的選擇。

比方說,你要離開只有前k個主成分:但是

x = score(:,1:k) * coeff(:,1:k)'; 

注意pca中心的數據,所以你實際上得到您的數據中心版本的投影。

+0

非常感謝您的幫助......除了PCA之外,還有其他方法可以用來了解我的數據中的哪些功能對於功能選擇更重要嗎? – user836026

+1

特徵選擇是機器學習的一個大型子課題。我沒有具體的建議,但維基百科可能是一個起點https://en.wikipedia.org/wiki/Feature_selection –