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