Home > . > collectPartitions.m

collectPartitions

PURPOSE ^

%% [X,Y,Xval,Yval] = collectTrainValidation(features,CV,oneTrialF,command)

SYNOPSIS ^

function [X,Y,Xval,Yval] = collectPartitions(data,CV,oneTrialF,command)

DESCRIPTION ^

%% [X,Y,Xval,Yval] = collectTrainValidation(features,CV,oneTrialF,command)
%%   train.features: ntasks x ntrials cell array of featurized data
%%        .classes: ntasks x ntrials matrix of class labels
%%   CV.classes: ntasks x ntrials matrix of class labels
%%   CV.validateIndices: ntasks x ntrials cell array of validate sample indices
%%   CV.parms.firstMode
%%           .nModes
%%  Returns
%%   X: nfeatures x nSamples training data
%%   Y: 1 x nSamples train class labels
%%   Xval: nfeatures x nSamples validation data
%%   Yval: 1 x nSamples validation class labels

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function [X,Y,Xval,Yval] = collectPartitions(data,CV,oneTrialF,command)
0002 %%% [X,Y,Xval,Yval] = collectTrainValidation(features,CV,oneTrialF,command)
0003 %%%   train.features: ntasks x ntrials cell array of featurized data
0004 %%%        .classes: ntasks x ntrials matrix of class labels
0005 %%%   CV.classes: ntasks x ntrials matrix of class labels
0006 %%%   CV.validateIndices: ntasks x ntrials cell array of validate sample indices
0007 %%%   CV.parms.firstMode
0008 %%%           .nModes
0009 %%%  Returns
0010 %%%   X: nfeatures x nSamples training data
0011 %%%   Y: 1 x nSamples train class labels
0012 %%%   Xval: nfeatures x nSamples validation data
0013 %%%   Yval: 1 x nSamples validation class labels
0014 
0015 [r,c] = size(data.features);
0016 X = [];
0017 Y = [];
0018 Xval = [];
0019 Yval = [];
0020 
0021 if nargin > 3 && strcmp(command,'train')
0022   
0023   %% Collect train and validation data
0024 
0025   for ri = 1:r
0026     for ci = 1:c
0027       oneTrial = data.features{ri,ci};
0028       oneTrialClass = data.classes(ri,ci);
0029       trainIndices = 1:size(oneTrial,2);
0030       if ~isempty(CV.validateIndices)
0031     trainIndices = setdiff(trainIndices,CV.validateIndices{ri,ci});
0032       end
0033 
0034       [X1,Y1] = oneTrialF(oneTrial,trainIndices,oneTrialClass,CV);
0035       X = [X X1];
0036       Y = [Y Y1];
0037 
0038       if ~isempty(CV.validateIndices)
0039     [Xval1,Yval1] = oneTrialF(oneTrial,CV.validateIndices{ri,ci},oneTrialClass,CV);
0040     Xval = [Xval Xval1];
0041     Yval = [Yval Yval1];
0042       end
0043     end
0044   end
0045 
0046 else
0047   %% collect test data
0048   
0049   for ri = 1:r
0050     for ci = 1:c
0051       oneTrial = data.features{ri,ci};
0052       oneTrialClass = data.classes(ri,ci);
0053       [X1,Y1] = oneTrialF(oneTrial,1:size(oneTrial,2),oneTrialClass,CV);
0054       X = [X X1];
0055       Y = [Y Y1];
0056     end
0057   end
0058 end
0059

Generated on Tue 07-Feb-2006 12:02:57 by m2html © 2003