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