"ffnet" neural network crossvalidation

2 visualizaciones (últimos 30 días)
laplace laplace
laplace laplace el 26 de Jun. de 2013
Indices = crossvalind('Kfold',inputs , 10);
for i=1:10
test = (Indices == i);
train = ~test;
net = newff(inputs(:,train),targets(:,train),20,{},'trainscg');
[net,TR] = traingd(net,inputs,targets);
a = sim(net,inputs(:,train));
b=sim(net,inputs(:,test));
end
this is the code to apply crossvalidation feel free to use it:)
but there is a problem in crossvalind when your input set has a higher dimension than 1
in case your input set consists of row vectors then the crossvalind command should be modified as following:
[M, N] = size (inputs)
indices=crossvalind('Kfold',inputs(1:M,N),10);
*
*so now my question is: in case my input set consists of column vectors how should i modify crossvalind to assign indices NOT to each element of every column vector *BUT to each column vector itself***
: in case someone wants to pass indices to the elements of column vectors of the "inputs matrix" he can do:
C = num2cell(inputs,1);%this will "break" the matrix(inputs) to column vectors
for i=1:length(inputs)
indices=crossvalind('Kfold',C{i},10)
end
  1 comentario
Greg Heath
Greg Heath el 1 de Jul. de 2013
I don't have crossvalind. However, I recall a post recommending cvpartition as a superior alternative. That reference also recommended crossval.
Hope this helps.

Iniciar sesión para comentar.

Respuestas (0)

Categorías

Más información sobre Sequence and Numeric Feature Data Workflows en Help Center y File Exchange.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by