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