2015-10-18 102 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 –