% reduce to numPCs or however many PCs capture fracVar of the variance
[PCs, ~, v] = pca(A_masked);
V = cumsum(v)./sum(v);
if ~isempty(fracVar)
% determine how many PCs to use
v = cumsum(var(A_maskedPCs))./sum(var(A_maskedPCs));
idx = 1:size(v,2);
numPCs = idx(v > fracVar);
numPCs = numPCs(1);
end
if numPCs > size(PCs,2)
topPCs = PCs;
else
topPCs = PCs(:,1:numPCs);
end
X = A_masked * topPCs;
PCA累加和操作
最新推荐文章于 2021-05-06 15:44:16 发布