Получавам следната грешка от Liblinear, докато се опитвам да обуча SVM: „Грешка: C‹= 0“. Въпреки че е очевидно какво не е наред, не мога да разбера защо има проблем, тъй като C, който намирам чрез кръстосано валидиране, е положителен.
Това е кодът за кръстосано валидиране (премахнах долния бит) за намиране на C
for log2c = 2:1:6,
cmd = ['-s 2 -v 5 -c ', num2str(2^log2c)];
cv = train(labels, features, cmd);
и резултатът, който получавам е
Cross Validation Accuracy = 91.6772%
bestc = 4, cv = 91.6772
Въпреки това, когато след това тренирам SVM, получавам
models{i} = train(trainLabel, trainFeats, ['-s 2 -c ', bestc]);
Error: C <= 0
Ако някой има някакви предложения, ще бъдат много благодарни!
(Освен това моите данни са приблизително 2/3 отрицателни и 1/3 положителни, ако това е от полза)