function nets=crossval(method,n,in,out,options,afun,ofun) % nets=crossval(method,n,in,out,options,afun,ofun) % führt eine n-fache Kreuzvalidierung mit dem Modell METHOD ('mlp' oder 'linear') % durch. Das Ergebnis ist ein Array von trainierten Modellen % Die Hidden-Unit-Anzahl für ein MLP ist in OPTIONS(19) % AFUN ist die Output-Aktivierungsfunktion ('linear', 'logistic', 'softmax') % (Default 'linear') % OFUN ist die Optimierungsmethode (siehe NETOPT) % (Default 'scg') nin=size(in,2); nout=size(out,2); nsamp=size(in,1); nval=floor(nsamp/n); ntrain=nsamp-nval; if nargin<7 ofun='scg'; end if nargin<6 afun='linear'; end for i=1:n if method=='mlp' net=mlp(nin,options(19),nout,afun); else net=glm(nin,nout,afun); end tin=in(1:ntrain,:); tout=out(1:ntrain,:); net=netopt(net,options,tin,tout,ofun); net.tin=tin; net.tout=tout; net.vin=in(ntrain+1:nsamp,:); net.vout=out(ntrain+1:nsamp,:); nets(i)=net; in=[net.vin net.tin]; out=[net.vout net.tout]; end