0001
0002
0003
0004 clear trials classes;
0005
0006 load eegdata;
0007
0008 matfilename = 'allCVsubject3'
0009
0010 subject = 3;
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
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.svd = runCV(trials,classes,parameterSets,...
0067 validationFraction,validationRepetitions,...
0068 @makeSVDModes,@LDA,@selectModes);
0069
0070 save(matfilename,'CV');
0071
0072
0073
0074 summarizeTestResults(CV.svd);
0075
0076
0077
0078
0079
0080
0081 clear parameterSets;
0082 k = 0;
0083 for nl = lagsproj
0084 for nModes = 1:nchannels*(1+min(4,nl))
0085 for firstMode = 1:(nchannels*(nl+1))-nModes+1
0086 for meanSubt = meanSubtracts
0087 k = k + 1;
0088 parameterSets(k).nlags = nl;
0089 parameterSets(k).firstMode = firstMode;
0090 parameterSets(k).nModes = nModes;
0091 parameterSets(k).meanSubtract = meanSubt;
0092 end
0093 end
0094 end
0095 end
0096
0097
0098 CV.svdproj = runCV(trials,classes,parameterSets,...
0099 validationFraction,validationRepetitions,...
0100 @makeSVDProj,@LDA,@selectSamplesRows);
0101
0102 save(matfilename,'CV');
0103
0104
0105
0106 summarizeTestResults(CV.svdproj);
0107
0108
0109
0110
0111
0112 clear parameterSets;
0113 k = 0;
0114 for winSize = winSizes
0115 for nl = lags
0116 for nModes = 1:nchannels*(nl+1)
0117 for firstMode = 1:(nchannels*(nl+1))-nModes+1
0118 for meanSubt = meanSubtracts
0119 k = k + 1;
0120 parameterSets(k).nlags = nl;
0121 parameterSets(k).winSize = winSize;
0122 parameterSets(k).winShift = winShift;
0123 parameterSets(k).firstMode = firstMode;
0124 parameterSets(k).nModes = nModes;
0125 parameterSets(k).meanSubtract = meanSubt;
0126 end
0127 end
0128 end
0129 end
0130 end
0131
0132
0133 CV.msf = runCV(trials,classes,parameterSets,...
0134 validationFraction,validationRepetitions,...
0135 @makeMSFModes,@LDA,@selectModes);
0136
0137 save(matfilename,'CV');
0138
0139
0140
0141 summarizeTestResults(CV.msf);
0142
0143
0144
0145
0146
0147
0148 clear parameterSets;
0149 k = 0;
0150 for nl = lagsproj
0151 for nModes = 1:nchannels*(1+min(4,nl))
0152 for firstMode = 1:(nchannels*(nl+1))-nModes+1
0153 for meanSubt = meanSubtracts
0154 k = k + 1;
0155 parameterSets(k).nlags = nl;
0156 parameterSets(k).firstMode = firstMode;
0157 parameterSets(k).nModes = nModes;
0158 parameterSets(k).meanSubtract = meanSubt;
0159 end
0160 end
0161 end
0162 end
0163
0164
0165 CV.msfproj = runCV(trials,classes,parameterSets,...
0166 validationFraction,validationRepetitions,...
0167 @makeMSFProj,@LDA,@selectSamplesRows);
0168
0169 save(matfilename,'CV');
0170
0171
0172
0173 summarizeTestResults(CV.msfproj);
0174
0175
0176
0177
0178
0179
0180 clear parameterSets;
0181 k = 0;
0182 for nl = lagsraw
0183 k = k + 1;
0184 parameterSets(k).nlags = nl;
0185 end
0186
0187
0188 CV.raw = runCV(trials,classes,parameterSets,...
0189 validationFraction,validationRepetitions,...
0190 @makeRawEEGFeatures,@LDA,@selectSamples);
0191
0192 save(matfilename,'CV');
0193
0194
0195 summarizeTestResults(CV.raw);
0196