0

我有以下大小为 300 x 2 的矩阵,其中包含最小-最大标准化数据:

# Pre-Process data
scaled_acc = preprocess(mtx_accuracy);

# PCA on mtx_accuracy
[pcvars pcvecs] = princomp(scaled_acc);

preprocess是一个缩放函数:

function zScore = preprocess(data)
    means = ones(length(data),1);
    means = means * mean(data);
    stds = ones(length(data),1);
    stds = stds * std(data);
    zScore = (data - means) ./ stds;
endfunction

如何减少(到 1 维)和投影数据,以便我有一个单列向量?

4

1 回答 1

1

第二个输出变量pcvecs已经包含您的投影数据n维度,其中n是数据矩阵中的总列数。因此,如果您想看到您的数据投影到m其中的维度子集m < n,您只需提取 的第一mpcvecs

在您的情况下,m=1,因此它将是:

reduced = pcvecs(:,1);
于 2015-10-13T00:29:44.533 回答