分类得分:支持向量机(SVM)

7

我正在使用libsvm进行多类别分类。如何附加分类分数以比较分类的置信度,并将其与给定样本的输出进行比较,例如:

Class 1: score1

Class 2: score2

Class 3: score3

Class 4: score4

我不想要一个单一的类别ID作为分类输出。相反,输出应该是这样的:给定的样本可以用概率得分1分类到类别1。 - Xolve
2个回答

6
您可以首先使用一对所有的方法,并通过在libSVM中设置决策值选项将它们视为2类分类。这是通过将每个类作为正类,其余类别作为负类来实现的。
然后,比较结果的决策值以对样本进行分类。例如,样本1对于类1的决策值为0.54,对于类2的决策值为0.64,对于类3的决策值为0.43,对于类4的决策值为0.80,则可以将其分类为类4。
您还可以使用概率值而不是决策函数值来进行分类,方法是在libSVM中使用-b选项。
希望这能帮到您。

将距离归一化到超平面并不总是一个衡量属于某一类概率的好方法。请参考 Zadrozny 和 Elkan 的这篇论文 - David C

2
另一个选择是使用LIBLINEAR包,它在内部实现了一对多策略来解决多类问题。在LIBSVM中,这个实现是基于一对一策略的。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接