diff --git a/cutWindows.m b/cutWindows.m index 44b50d6..2430ffe 100644 --- a/cutWindows.m +++ b/cutWindows.m @@ -11,7 +11,7 @@ for i=2:(size(codeCount,1)) %exclude beginning and end (stimulus 0) tempc=0; while codeCount(i)-tempc >= interval - splitSignals=cat(3,splitSignals,signal(c+tempc:c+tempc+2499,:)); + splitSignals=cat(3,splitSignals,signal(c+tempc:c+tempc+interval-1,:)); code=cat(1,code,double(states.StimulusCode(c+tempc))); tempc=tempc+interval; end diff --git a/readme.m b/readme.m index 13fd3d6..fb22dd8 100644 --- a/readme.m +++ b/readme.m @@ -52,4 +52,8 @@ % cross validation (selber impelmentieren) % Aufteilung EMG xor EEG (done) -% danach dann Bewegungen aufteilen \ No newline at end of file +% danach dann Bewegungen aufteilen +% -> testen ob mit EMG besser +% Ideen: +% - alle Daten, zumindest von einer PErson einlesen + diff --git a/svm.m b/svm.m index fe62691..9bf653f 100644 --- a/svm.m +++ b/svm.m @@ -1,11 +1,11 @@ %params NFFT=2048; -cutWindow=1; +cutWindow=2; window=0.2; shift=0.05; k=10; -rounds=75; -maxExpC=7; +rounds=10; +maxExpC=5; %svm [signal, states, params] = load_bcidat('/home/jph/Uni/masterarbeit/Block1_ReachingMovements/AO/AO_B1001/AO_B1S001R01.dat'); @@ -28,14 +28,17 @@ %classify for move/rest %classification=double(code<=5); +%choose to estimate based on EEG or EMG +trainingData=trainingDataEMG; + accurancy=zeros(rounds,3); means=zeros(rounds,1); for i=1:rounds - randMap=randperm(size(trainingDataEEG,1)); - leaveOut=trainingDataEEG(mod(randMap,k+2)==0,:,:); + randMap=randperm(size(trainingData,1)); + leaveOut=trainingData(mod(randMap,k+2)==0,:,:); leaveClasses=classification(mod(randMap,k+2)==0); - remaining=trainingDataEEG(mod(randMap,k+2)~=0,:,:); + remaining=trainingData(mod(randMap,k+2)~=0,:,:); remainingClasses=classification(mod(randMap,k+2)~=0); model=kfoldCV(remainingClasses,remaining,k,maxExpC);