0001
0002
0003 clear trials classes;
0004
0005 load eegdata;
0006
0007 matfilename = 'allCVsubject1'
0008
0009 subject = 1;
0010 tasks = [1 2 3 4 5];
0011 trials = 1:5;
0012
0013
0014
0015
0016 trials = squeeze(eegdata(subject,tasks,trials));
0017
0018 [nr,nc] = size(trials);
0019 for r = 1:nr
0020 for c = 1:nc
0021 trials{r,c} = trials{r,c}(1:6,:);
0022 end
0023 end
0024
0025 classes = repmat((1:length(tasks))',1,length(trials));
0026
0027
0028
0029 validationRepetitions = 5;
0030 validationFraction = 0.2;
0031 nchannels = 6;
0032 lags = 0:4;
0033
0034 lagsraw = 0:(max(lags)*8);
0035 lagsproj = 0:6;
0036
0037 winSizes = [62 125];
0038 winShift = 32;
0039
0040 meanSubtracts = [0 1];
0041
0042
0043
0044
0045
0046
0047
0048
0049
0050
0051
0052
0053 clear parameterSets;
0054 k = 0;
0055 for winSize = winSizes
0056 for nl = lags
0057 for nModes = 1:nchannels*(nl+1)
0058 for firstMode = 1:(nchannels*(nl+1))-nModes+1
0059 for meanSubt = meanSubtracts
0060 k = k + 1;
0061 parameterSets(k).nlags = nl;
0062 parameterSets(k).winSize = winSize;
0063 parameterSets(k).winShift = winShift;
0064 parameterSets(k).firstMode = firstMode;
0065 parameterSets(k).nModes = nModes;
0066 parameterSets(k).meanSubtract = meanSubt;
0067 end
0068 end
0069 end
0070 end
0071 end
0072
0073
0074 CV.msf = runCV(trials,classes,parameterSets,...
0075 validationFraction,validationRepetitions,...
0076 @makeMSFModes,@LDA,@selectModes);
0077
0078 save(matfilename,'CV');
0079
0080
0081
0082 summarizeTestResults(CV.msf);
0083
0084
0085
0086
0087
0088 clear parameterSets;
0089 k = 0;
0090 for nl = lagsproj
0091 for nModes = 1:nchannels*(1+min(4,nl))
0092 for firstMode = 1:(nchannels*(nl+1))-nModes+1
0093 for meanSubt = meanSubtracts
0094 k = k + 1;
0095 parameterSets(k).nlags = nl;
0096 parameterSets(k).firstMode = firstMode;
0097 parameterSets(k).nModes = nModes;
0098 parameterSets(k).meanSubtract = meanSubt;
0099 end
0100 end
0101 end
0102 end
0103
0104
0105 CV.msfproj = runCV(trials,classes,parameterSets,...
0106 validationFraction,validationRepetitions,...
0107 @makeMSFProj,@LDA,@selectSamplesRows);
0108
0109 save(matfilename,'CV');
0110
0111
0112
0113 summarizeTestResults(CV.msfproj);
0114
0115
0116
0117
0118
0119 clear parameterSets;
0120 k = 0;
0121 for winSize = winSizes
0122 for nl = lags
0123 for nModes = 1:nchannels*(nl+1)
0124 for firstMode = 1:(nchannels*(nl+1))-nModes+1
0125 for meanSubt = meanSubtracts
0126 k = k + 1;
0127 parameterSets(k).nlags = nl;
0128 parameterSets(k).winSize = winSize;
0129 parameterSets(k).winShift = winShift;
0130 parameterSets(k).firstMode = firstMode;
0131 parameterSets(k).nModes = nModes;
0132 parameterSets(k).meanSubtract = meanSubt;
0133 end
0134 end
0135 end
0136 end
0137 end
0138
0139
0140 CV.svd = runCV(trials,classes,parameterSets,...
0141 validationFraction,validationRepetitions,...
0142 @makeSVDModes,@LDA,@selectModes);
0143
0144 save(matfilename,'CV');
0145
0146
0147
0148 summarizeTestResults(CV.svd);
0149
0150
0151
0152
0153
0154
0155 clear parameterSets;
0156 k = 0;
0157 for nl = lagsproj
0158 for nModes = 1:nchannels*(1+min(4,nl))
0159 for firstMode = 1:(nchannels*(nl+1))-nModes+1
0160 for meanSubt = meanSubtracts
0161 k = k + 1;
0162 parameterSets(k).nlags = nl;
0163 parameterSets(k).firstMode = firstMode;
0164 parameterSets(k).nModes = nModes;
0165 parameterSets(k).meanSubtract = meanSubt;
0166 end
0167 end
0168 end
0169 end
0170
0171
0172 CV.svdproj = runCV(trials,classes,parameterSets,...
0173 validationFraction,validationRepetitions,...
0174 @makeSVDProj,@LDA,@selectSamplesRows);
0175
0176 save(matfilename,'CV');
0177
0178
0179
0180 summarizeTestResults(CV.svdproj);
0181
0182
0183
0184
0185
0186 clear parameterSets;
0187 k = 0;
0188 for nl = lagsraw
0189 k = k + 1;
0190 parameterSets(k).nlags = nl;
0191 end
0192
0193
0194 CV.raw = runCV(trials,classes,parameterSets,...
0195 validationFraction,validationRepetitions,...
0196 @makeRawEEGFeatures,@LDA,@selectSamples);
0197
0198 save(matfilename,'CV');
0199
0200
0201 summarizeTestResults(CV.raw);
0202