【发布时间】:2013-06-26 15:22:05
【问题描述】:
你好,我用MATLAB做PCA,下面的代码(我有13个属性)实际上我在运行程序(RBF网络)时遇到了问题,所以我用PCA来调整数据,我可以用这个方法吗?如果是,我应该使用矩阵 als 而不是我的真实数据吗?
% PCA1: Perform PCA using covariance.
% data - MxN matrix of input data
% (M dimensions, N trials)
% signals - MxN matrix of projected data
% PC - each column is a PC
% V - Mx1 matrix of variances
[M,N] = size(data);
% subtract off the mean for each dimension
mn = mean(data,2);
data = data - repmat(mn,1,N);
% calculate the covariance matrix
covariance = 1 / (N-1) * data * data’;
% find the eigenvectors and eigenvalues
[PC, V] = eig(covariance);
% extract diagonal of matrix as vector
V = diag(V);
% sort the variances in decreasing order
[junk, rindices] = sort(-1*V);
V = V(rindices);
PC = PC(:,rindices);
% project the original data set
sign
als = PC’ * data;
谢谢
【问题讨论】:
-
请考虑正确格式化您问题中的代码
-
谢谢,如果您知道这一点,请帮助我?
-
我不清楚你的问题是什么。 “信号矩阵”是什么意思?
-
我的意思是作为信号出现在工作区中的最终输出?