Tôi biết rằng SVM là một phân loại nhị phân. Tôi muốn mở rộng nó sang SVM nhiều lớp. Đó là cách tốt nhất và có thể là cách dễ nhất để thực hiện nó?
mã: trong MATLAB
u=unique(TrainLabel);
N=length(u);
if(N>2)
itr=1;
classes=0;
while((classes~=1)&&(itr<=length(u)))
c1=(TrainLabel==u(itr));
newClass=double(c1);
tst = double((TestLabel == itr));
model = svmtrain(newClass, TrainVec, '-c 1 -g 0.00154');
[predict_label, accuracy, dec_values] = svmpredict(tst, TestVec, model);
itr=itr+1;
end
itr=itr-1;
end
Làm thế nào điều này có thể được cải thiện?
classes
làm gì trong mã? Nó dường như là vô dụng.