主成分分析和特征减少

时间:2015-10-18 00:34:13

标签: matlab pca

我有一个由35个功能组成的矩阵,我需要减少这些功能    功能,因为我认为许多变量是依赖的。我承诺PCA    可以帮我做到这一点,所以使用matlab,我计算:

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

我注意到“coeff”包含我理解的矩阵(如果我错了,请纠正我)左边有重要的列,第二列重要性较低等等。但是,我不清楚“ coeff ”上的哪一列与我原来的“ list_of_features ”中的哪一列相关,这样我才能知道哪个变量更重要。

1 个答案:

答案 0 :(得分:1)

PCA没有给你原始特征的顺序关系(哪个特征比其他特征更“重要”),而是它给出了特征空间中的方向,根据方差排序,从高方差(第一方向,或主要成分)低方差。方向通常是原始要素的线性组合,因此您无法获得有关单个要素的信息。

您可以做的是抛弃方向(一个或多个),或者换句话说,将数据投射到由主要组件的子集跨越的子空间中。通常你想抛出低方差的方向,但这真的是一个选择,取决于你的应用程序。

假设您只想留下第一个k原则组件:

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

但请注意,pca使数据居中,因此您实际上可以获得数据中心版本的投影。