Error -Index exceeds matrix dimensions.
Mostrar comentarios más antiguos
I get error ,please tell how to rectify it,i have used 100x4 for training and rest for testing, even though i get error
clc
clear all
load fisheriris
groups = ismember(species,'setosa');
k=10;
groups =groups(1:100,:);
mt=meas(1:100,:);
mte=meas(101:end,:);
cvFolds = crossvalind('Kfold', groups, k);
cp = classperf(groups);
for i = 1:k
testIdx = (cvFolds == i);
trainIdx = ~testIdx;
svmModel = svmtrain(mt(trainIdx,:), groups(trainIdx), ...
'Autoscale',true, 'Showplot',false, 'Method','QP', ...
'BoxConstraint',2e-1, 'Kernel_Function','rbf', 'RBF_Sigma',1);
pred = svmclassify(svmModel, mte(testIdx,:), 'Showplot',false);
cp = classperf(cp, pred, testIdx);
end
3 comentarios
Walter Roberson
el 10 de En. de 2013
Usually we can debug faster when the person tells us which line the error is occuring on.
nkumar
el 10 de En. de 2013
Jan
el 12 de En. de 2013
Respuestas (1)
Walter Roberson
el 10 de En. de 2013
0 votos
Your cvFolds is constructed from groups, which is rows 1:100, but you use an index derived from that (testIdx) to index mte which is rows 101:end and so might be smaller.
Categorías
Más información sobre Nearest Neighbors en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!