"ffnet" neural network crossvalidation
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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
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.
Respuestas (0)
Ver también
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!