matlab数据维度调换,如何在matlab中的pcares函数中选择ndim参数并降低数据的维数? [重复]...

这个问题在这里已有答案:

我有一个大小为200 * 119的数据集,即我的样本为200,变量/特征为119.我想通过选择那些对分类有重大贡献的特征来使用PCA来优化我的特征集 .

我已经理解了PCA的概念,但我无法实现它 . 我使用 pca 函数找到了 coeff and score 的数据 .

[coeff, score] = pca(data);

coeff矩阵现在的大小为 119x119 .

但是我如何处理这些信息呢?我的目标是找到可以输入分类器的简化数据集 . 我已经阅读了pcares的文档,甚至查看了有关此问题的类似问题 . 但我无法理解 [residuals, reconstructed]=pcares(data, ndim) 将如何帮助我"reduce"我的数据集的大小 . 我如何选择ndim参数?

EDIT

我使用以下代码来减少数据集 .

B=data;

sigma = cov(B);

%// Find eigenvalues and eigenvectors of the covariance matrix

[A,D] = eig(sigma);

vals = diag(D);

%// Sort their eigenvalues

[~,ind] = sort(abs(vals), 'descend');

%// Rearrange eigenvectors

Asort = A(:,ind);

%// Find mean subtracted data

Bm = bsxfun(@minus, B, mean(B,1));

%// Reproject data onto principal components

Bproject = Bm*Asort;

但是,我的Bproject仍然是200 * 119的大小

我不明白 . 请解释 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值