Я знаю, что LIBSVM допускает только классификацию one-vs-one, когда речь заходит о мульти-классе 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
Возможно, я допустил некоторые ошибки. Я хотел бы услышать некоторые отзывы. Спасибо.
Вторая часть: Как сказал grapeot: Мне нужно сделать Sum-pooling (или голосование как упрощенное решение), чтобы придумать окончательный ответ. Я не уверен, как это сделать. Мне нужна помощь; Я видел файл python, но все же не очень уверен. Мне нужна помощь.