gpt4 book ai didi

machine-learning - 使用 LIBSVM 的多类

转载 作者:行者123 更新时间:2023-11-30 08:55:51 25 4
gpt4 key购买 nike

我有一个多类 svm 分类(6 类)。我想使用 LIBSVM 对它进行分类。以下是我尝试过的方法,我对它们有一些疑问。

方法一(一对一):

model = svmtrain(TrainLabel, TrainVec, '-c 1 -g 0.00154 -b 0.9');
[predict_label, accuracy, dec_values] = svmpredict(TestLabel, TestVec, model);

关于此方法的两个问题:1)对于多类问题我需要做的就是2) '-b n' 中的 n 应该是什么值。我不确定

方法二(1 vs 其余):

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

对于第二种方法,如何附加分类分数。我无法投票。

除此之外,这是我尝试过的两种方法。哪种方法更好?

想听听一些意见。如果我错了,请纠正我。

最佳答案

关于“-b”参数,在 LIBSVM README 中写道:

-bprobability_estimates:是否训练SVC或SVR模型进行概率估计,0或1(默认0)

因此,如果您希望训练后的模型返回类别概率,则应指定“-b 1”,否则应指定“-b 0”。您只需调用 svmtrain 一次。此外,如果您为训练指定“-b 1”,则还必须为预测指定它。

关于machine-learning - 使用 LIBSVM 的多类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8979531/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com