私はマルチクラスのSVM分類(6クラス)を持っています。 LIBSVMを使って分類したいと思います。以下は、私が試したことであり、私はそれらに関するいくつかの質問があります。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);
つの質問:1)それは-b」はnに私はマルチクラス問題 2のために行うために必要なすべての)どのような値でなければならないということですn 'である。第二の方法については
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(残り対1)が分かりません。私は投票することができません。
これ以外にも、私が試した2つの方法です。どの方法が良いですか?
コメントがありますか?私が間違っていれば私を修正してください。 '-b' パラメータについて
非常に不均衡なセット(いくつかの「1つ」と「多くの「休憩」)と「休憩」の例の間に多くの違いがある場合、「1対vs」で良い結果が得られたのか不思議です。 – Matthieu