マルチクラスのsvm分類(6クラス)があります。LIBSVMを使って分類したいと思います。以下は私が試したものであり、それらに関していくつか質問があります。
方法1(1対1):
model = svmtrain(TrainLabel, TrainVec, '-c 1 -g 0.00154 -b 0.9');
[predict_label, accuracy, dec_values] = svmpredict(TestLabel, TestVec, model);
この方法に関する2つの質問:1)マルチクラス問題に対して行う必要があるのは2)'-bn'のnの値はどうあるべきかということです。わからない
方法2(1対残り):
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
2番目の方法では、分類スコアを添付するにはどうすればよいですか。投票できません。
それ以外に、これらは私が試した2つの方法です。どちらの方法が良いですか?
コメントを聞きたいです。私が間違っている場合は訂正してください。