error using svmtrain (not enough inputs)
显示 更早的评论
i am using a code
clc
C=[1 2 3 ;4 5 6]
TrainLabel=C;TrainVec=[0;1];
bestcv = 0;
for log2c = -6:10,
for log2g = -6:3,
cmd = ['-v 5 -c ', num2str(2^log2c), ' -g ', num2str(2^log2g)];
cv = svmtrain(TrainLabel,TrainVec, cmd);
if (cv >= bestcv),
bestcv = cv; bestc = 2^log2c; bestg = 2^log2g;
end
fprintf('(best c=%g, g=%g, rate=%g)\n',bestc, bestg, bestcv);
end
end
i get error as
Error using ==> svmtrain at 225
Incorrect number of arguments to svmtrain.
Error in ==> ex2011 at 10
cv = svmtrain(TrainLabel,TrainVec, cmd);
please help were i have done mistake
回答(3 个)
Ilya
2012-4-5
0 个投票
If you are using svmtrain function from the official MATLAB install (verify by typing 'which svmtrain' in your command window), it does not accept the syntax of your cmd string. Please read 'help svmtrain' or 'doc svmtrain'.
Walter Roberson
2012-4-5
The Mathworks-provided svmtrain() does not accept an argument which is a single string with flags and values. Instead it accepts only name/value pairs, such as
svmtrain(TrainLabel,TrainVec, 'method', 'SMO')
The flags you use have no obvious correspondence in the supported name/value pairs.
ansha nisar
2021-8-12
0 个投票
How can I resolve this problem Error using svmtrain
1 个评论
Walter Roberson
2021-8-12
models{k} = fitcsvm(Trainfea, G1vAll, 'solver', 'SMO');
and later
if predict(models{k}, Testfea(j,:))
类别
在 帮助中心 和 File Exchange 中查找有关 MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!