【问题标题】:How to select top needed features(variables) after pca in matlab?如何在matlab中选择pca后最需要的特征(变量)?
【发布时间】: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


【解决方案1】:

在文档中:

各列按分量方差递减的顺序排列。

通常,来自 PCA 的特征向量从最相关到​​最不相关排序,它是非书面的“标准”AFAIK。

加上latent的第一个值当然对应特征向量的第一行,不需要重新排序。

【讨论】:

    猜你喜欢
    • 2020-11-01
    • 2018-11-20
    • 2017-04-10
    • 2012-10-29
    • 2019-08-13
    • 2018-07-31
    • 2019-09-17
    • 1970-01-01
    • 2021-07-15
    相关资源
    最近更新 更多