【发布时间】:2015-03-23 13:23:55
【问题描述】:
我已推荐How to select top 100 features(a subset) which are most relevant after pca?
我正在使用 pca() 而不是 princomp(),因为它在新版本中已被删除。
我知道“特征值表示每个特征向量解释了多少数据。选择特征的一种简单方法是选择特征值最高的 100 个特征”。
例如,如果我在 matlab 中运行以下命令
[coeff,score,latent] = pca(pcaInput);
然后latent给我我需要的值。
但是,潜在是按排序顺序给出的。我怎么知道,向量潜在的第一个值对应于我的数据集中的哪个变量?
【问题讨论】:
-
latent向量中的值对应于coeff矩阵的列。最重要的主成分将是第一列,其余的按降序排列。 PCA 更改了坐标系,为您提供了一组新的变量来使用。数据集中的原始变量不再具有任何意义。 -
如果您说明您使用的是哪个版本,这对未来的读者也有好处...
-
@eigenchris 我只使用 pca 进行特征选择,我希望 pca 给我前 k 个变量列表,以便我可以将这些变量作为其他模块的输入。
-
@user2670535 新的特征轴是
coeffs矩阵的列。我不明白问题是什么? -
@eigenchris pca 的输出给出了“转换后的”特性,我需要原始数据列。就像给定 100 个变量数据集,我想“选择”前 10 个相关变量。
标签: matlab correlation pca