PCA用于特征提取MATLAB

时间:2014-03-19 21:53:56

标签: matlab pca

我有一个大小为A的数据矩阵N-by-M。 我希望使用PCA来减少维数。我想将尺寸设置为' k'。

据我所知,在提取特征后,我应该得到一个Nxk矩阵。

我已尝试pcares如下,

[residuals,reconstructed] = pcares(A,k)

但这对我没有帮助。

我也在尝试使用博士工具箱(here) 这会返回k-by-k矩阵。我该如何进一步处理?

任何帮助都将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:2)

pcares给出残差,这是用重建输入减去输入时的误差。您可以使用pca命令。它返回一个MxM矩阵,其列是主要组件。您可以使用它们的第一个k来构建该功能,只需执行以下操作即可

X = bsxfun(@minus, A, mean(A)) * coeff(:, 1:k);,其中coeff是从pca命令返回的内容。使用bsxfun的函数调用会减去均值(数据居中,因为这是pca在计算输出coeff时所做的事情。)

相关问题