传递到PCA函数的数据矩阵是否需要包含响应向量?

时间:2015-10-24 23:41:05

标签: android python scikit-learn pca

我有一个数据训练矩阵(大约15个特征和500多行)和一个结果/响应向量(500+长度),其值对应于行。基本上它是一个安卓传感器数据的矩阵,对应于弧度测量(我试图使用传感器数据来预测运动方向)。

我正在尝试使用PCA确定哪些功能不太重要/无用。我正在使用scikit-learn提供的PCA功能:

http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html

但似乎要求的只是数据矩阵;没有选项输入数据的响应向量(或者我在数据矩阵中包含响应向量?)。

根据我的理解,PCA挑选出与响应变量相比差异最大的特征。如果我不提供响应矢量(弧度测量),它将如何知道哪个特征更重要?

1 个答案:

答案 0 :(得分:0)

PCA是一种无监督的估算器,这意味着它不会考虑任何目标/响应变量。它将在数据中找到正交基数而不参考任何目标(这在sklearn docs中讨论)。

听起来你的想法是Linear Discriminant Analysis和相关的例程:这些是监督算法,它们找到最能区分响应变量的特征的线性组合。