📄 dualgreedypcaproject.m.svn-base
字号:
function [testInfo, projectionInfo] = dualGreedyPCAProject(trainData, testData, subspaceInfo, params)
%Find the projections for a greedy PCA on a test set
if (nargin ~= 4)
fprintf('%s\n', help(sprintf('%s', mfilename)));
error('Incorrect number of inputs - see above usage instructions.');
end
[nameX, nameY] = getSpaceNames(params);
[numTestExamples, numFeatures] = getDataFieldSize(testData, nameX);
%Store parameters
T = params.iterations;
kernelFunction = char(params.X.kernel.name);
kernelParams = params.X.kernel.params;
%Now compute projections on the test data
testK = feval(kernelFunction, getDataFieldValue(testData, nameX), getDataFieldValue(trainData, nameX), kernelParams);
predictedX = zeros(numTestExamples, T);
%Is this just the same as predictedX = testK*subspaceInfo.b ?
for i=1:T
predictedX(:, i) = testK*subspaceInfo.b(:, i);
testK = testK - testK*subspaceInfo.b(:, i)*subspaceInfo.tau(:, i)';
end
testInfo.data = data;
testInfo.data = addDataField(testInfo.data, 'X', predictedX, 'examples');
projectionInfo = struct;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -