Multi-Class SVM (один против всех)

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

11
задан Amro 31 January 2012 в 20:09
поделиться