【问题标题】:Using PCA algorithm for adjusting data使用 PCA 算法调整数据
【发布时间】: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;

谢谢

【问题讨论】:

  • 请考虑正确格式化您问题中的代码
  • 谢谢,如果您知道这一点,请帮助我?
  • 我不清楚你的问题是什么。 “信号矩阵”是什么意思?
  • 我的意思是作为信号出现在工作区中的最终输出?

标签: matlab pca


【解决方案1】:

是的,矩阵als 是新转换的数据集。为了控制这个新数据的维度,可以通过取最重要的k向量来修改PC;

PC = PC(:,1:k);

为了找到新样本X(N x 1)的转换等效项,您可以编写:

X_transformed = PC’ * X;

【讨论】:

  • 谢谢,我在运行程序(RBF网络)时遇到问题,所以我使用PCA调整数据,我可以使用这种方法吗?如果是,我应该使用矩阵 als 而不是我的真实数据吗?
猜你喜欢
  • 1970-01-01
  • 2012-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-13
相关资源
最近更新 更多