首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PCA进行特征选择

使用PCA进行特征选择
EN

Stack Overflow用户
提问于 2013-05-27 21:10:53
回答 1查看 1.7K关注 0票数 0

数据集由N个元素和K个变量组成。使用PCA我可以减少变量的数量,但是如何检查K个变量中哪个提供了最多的信息?

例如,我有这样的数据集:

代码语言:javascript
复制
1 1 1 2
2 2 1 4
3 3 2 11
1 1 2 7
2 2 3 14
3 3 3 16
1 1 4 17
2 2 4 19
3 3 3 16

我知道第一列和第二列是一样的,第四列是由关系决定的:2*1+5*3-5。因此,第1列和第3列提供了最多的信息,其余的没有提供任何额外的信息。但是如何使用PCA来计算呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-27 22:14:24

对于您的示例:

代码语言:javascript
复制
           PC1         PC2           PC3           PC4
[1,] 0.3516359 -0.79142416  2.497231e-17 -1.299998e-16
[2,] 0.3516359 -0.79142416  1.713028e-16  1.168541e-16
[3,] 1.0831644  0.32331520  4.906878e-16 -3.286408e-17
[4,] 6.1190936  0.03372767 -9.813756e-17  6.572817e-18

主成分是协方差矩阵的sqrt(特征值)x特征向量(由于Cov是对称的半正定的,因此这些特征向量是保证实数和正交的)。

您可以在您的示例中看到,两个因素足以解释舍入容差内的所有变量(即协方差矩阵的“秩”为2),因为PC3和PC4几乎为零。

这将有效地旋转到将轴与隐藏变量对齐的向量空间。要讨论原始问题中的列,需要映射回原来的问题。例如,你可以查看最大的条目;在这里,我们会说PC1主要链接到‘COL4’,但这是任意的,PC2对‘COL1’和‘COL2’具有相同的权重--这两个选项看起来都一样好。记住,相关性并不意味着因果关系。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16774005

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档