Я знаю, что 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, но все еще не очень уверен.Мне нужна помощь.