Re: [Biosig-general] findclassifier [was Re: Biosig-general Digest, Vol 2, Issue 1]
Brought to you by:
schloegl
From: Singh, H. <Har...@wa...> - 2008-07-02 14:32:59
|
Dear Alois Thanks for the quick help. The error message is the same, even after removing ng parameter. Just to check things I tried another option to get the classifier using train_sc, even then the error doesn't change. CC = train_sc(f,HDR.Classlabel(1:10)); ??? Error using ==> train_sc at 88 length of data and classlabel does not fit Now the size of f when I use the first 10 trials is 30000*128 and as soon as I parse the parameters to the train_sc, line 86 says sz = size(D); if sz(1)~=length(classlabel), error('length of data and classlabel does not fit'); end; %% D is f so sz(1) is 30000 which can not be equal to length(classlabel) = 10 It will be great if you can spare some moments to please help Thanks Warm regards Harsimrat -----Original Message----- From: Alois Schlögl [mailto:alo...@tu...] Sent: 02 July 2008 11:22 To: Singh, Harsimrat Cc: bio...@li... Subject: re: findclassifier [was Re: [Biosig-general] Biosig-general Digest, Vol 2, Issue 1] -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 The error message does not indicate a memory problem. The problem is the use of the ng parameter which defines the cross-validation procedure. If all elements in ng are the same, either the training or the test set is empty, and you do not get any result. I suggest to omit the ng parameter in CC = findclassifier(f, HDR.TRIG(1:10), HDR.Classlabel(1:10), seg, flag, 'LD3'); This is the same as ng=[1:length(HDR.TRIG)]' and is equivalent to a leave-one-trial-out X-V procedure. Alois Singh, Harsimrat wrote: > Dear BioSig Users > > I have been trying to use BIOSIG methods for the analysis of Dataset I > of the BCI Competition data. The challenge is data is too large and > comes in one file BCI2005_I.gdf which contains both the training (278) > and the test trials. I use sload to load the data. because of large > memory it requires, i want to use first 10 trials to do the classifier > > % each trial is 3 sec long with sampling freq of 1000 Hz f = > bandpower(s(1:30000,:),HDR.SampleRate,[10,12;16,24],1); > f(f<-10)=NaN; > > > seg = reshape(1:8*HDR.SampleRate,HDR.SampleRate/5,8*5)'; % define segments, typical 1/10s .. 1/5s > flag = seg(:,1)>(3*HDR.SampleRate); % flag of possible segments > ng = ceil([1:length(HDR.TRIG(1:10))]'/length(HDR.TRIG(1:10))*K); % K_fold XV; K=10; > CC = findclassifier(f, HDR.TRIG(1:10), [HDR.Classlabel(1:10),ng], seg, flag, 'LD3'); > > it gives me an error that length of the data and classlabel does not fit. > ??? Error using ==> bci4eval at 102 > BCI4EVAL: size of data and size of Classlabels does not fit > > Second option is to try and remove the last 368 trials using sigviewer and save the file as gdf, but sigviewer is not able to save the file also. > > Can anyone help me with a way around this problem. > > Thanks in advance > Harsimrat > > -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFIa1bIzSlbmAlvEIgRAhrMAJ9Hwzwtq0omhLbRH60l84yXVRgBIACfUjhh LjVNC0Dd4et/80HYlSME744= =YZnv -----END PGP SIGNATURE----- |