Error -Index exceeds matrix dimensions.

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 Commenti

Usually we can debug faster when the person tells us which line the error is occuring on.
Index exceeds matrix dimensions.
Error in ==> Untitl at 22 pred = svmclassify(svmModel, mte(testIdx,:), 'Showplot',false);

Accedi per commentare.

Risposte (1)

Walter Roberson
Walter Roberson il 10 Gen 2013

0 voti

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.

3 Commenti

So how to rectify it walter
Jan
Jan il 12 Gen 2013
How could we know, what you exactly want to achieve?
i want to train the data with 100 data ant test the remaining

Accedi per commentare.

Richiesto:

il 10 Gen 2013

Community Treasure Hunt

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

Start Hunting!

Translated by