如何使用Matlab确定PCA中变量的重要性?

时间:2013-01-21 05:08:30

标签: matlab pca

我在网上遇到过很多类似的问题,但找不到解决我能理解的问题的问题。我将在此感谢一些解释,以帮助我理解。提前谢谢!

所以,

[COEFF,SCORE,latent,tsquare] = princomp(X)

我理解,对于coeff,列的顺序是减少组件差异。但我是否知道我的变量(原始数据集)的重要性,而不是主要组件(PC)的重要性,因为coeff的答案可能存在。有没有办法对我所拥有的变量的重要性进行排序?

我看到许多统计软件能够做到这一点,显示哪些原始变量对绘图贡献最大,哪些是可以删除以防止过度拟合问题。有没有办法用MatLab做到这一点?

我的目标是在2D绘图中绘制数据,这意味着我将使用PC1和PC2,它们具有最重要的组件差异。那么,我怎么知道应该保留哪些变量以及哪些变量应该被丢弃?

任何人都可以向我解释这个吗?谢谢!

1 个答案:

答案 0 :(得分:2)

如果您只关心将数据投影到2D平面以进行可视化,那么请务必从SCORE获取每个点的前两个坐标 - 这些是您称为{{1}的坐标你问题中的{}和PC1

但是,如果您想知道对PC2X贡献最多的PC1 中的两个组件,您必须找到PC2的前两列中的条目具有最大绝对值。由于COEFF的前两列代表COEFF中生成XPC1的元素的线性组合。