"ffnet" neural network crossvalidation

조회 수: 1 (최근 30일)
laplace laplace
laplace laplace 2013년 6월 26일
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
Greg Heath
Greg Heath 2013년 7월 1일
I don't have crossvalind. However, I recall a post recommending cvpartition as a superior alternative. That reference also recommended crossval.
Hope this helps.

댓글을 달려면 로그인하십시오.

답변 (0개)

카테고리

Help CenterFile Exchange에서 Sequence and Numeric Feature Data Workflows에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by