我有一个大小为A的数据矩阵N-by-M。我想使用PCA进行降维。我想把尺寸设置为“k”。
我知道,在特征提取之后,我应该得到一个Nxk矩阵。
我尝试过以下pcares,
[residuals,reconstructed] = pcares(A,k)但这对我没什么帮助。
我还试图使用dr工具箱(这里) --这将返回一个k-by-k矩阵。我该怎么做呢?
任何帮助都将不胜感激。
谢谢
发布于 2014-03-20 02:05:24
pcares给出了残差,这是用重构的输入减去输入时的误差。您可以使用pca命令。它返回一个MxM矩阵,其列是主组件。您可以使用它们中的第一个k来构造该特性,只需执行以下操作
X = bsxfun(@minus, A, mean(A)) * coeff(:, 1:k);,其中coeff是从pca命令返回的内容。带有bsxfun的函数调用减去平均值(以数据为中心,因为pca在计算输出coeff时就是这样做的)。
https://stackoverflow.com/questions/22518950
复制相似问题