Я знаю, что LIBSVM допускает классификацию только один на один, когда дело касается мультиклассовой SVM. Тем не менее, я хотел бы немного подправить его, чтобы выполнить классификацию один против всех. Я попытался выполнить один против всех ниже. Это правильный подход?
Код:
TrainLabel;TrainVec;TestVec;TestLaBel;
u=unique(TrainLabel);
N=length(u);
if(N>2)
itr=1;
classes=0;
while((classes~=1)&&(itr<=length(u)))
c1=(TrainLabel==u(itr));
newClass=c1;
model = svmtrain(TrainLabel, TrainVec, '-c 1 -g 0.00154');
[predict_label, accuracy, dec_values] = svmpredict(TestLabel, TestVec, model);
itr=itr+1;
end
itr=itr-1;
end
Я мог сделать несколько ошибок. Хотелось бы услышать отзывы. Спасибо.
Часть вторая: Как сказал виноград: Мне нужно провести суммирование (или голосование как упрощенное решение), чтобы прийти к окончательному ответу. Я не знаю, как это сделать. Мне нужна помощь в этом; Я видел файл python, но все еще не очень уверен. Мне нужна помощь.