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 件のコメント
Walter Roberson
2013 年 1 月 10 日
Usually we can debug faster when the person tells us which line the error is occuring on.
nkumar
2013 年 1 月 10 日
Jan
2013 年 1 月 12 日
回答 (1 件)
Walter Roberson
2013 年 1 月 10 日
0 投票
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.
カテゴリ
ヘルプ センター および File Exchange で Nearest Neighbors についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!