【问题标题】:Classification score: SVM分类分数:SVM
【发布时间】:2011-09-17 18:25:36
【问题描述】:

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

Class 1: score1

Class 2: score2

Class 3: score3

Class 4: score4

【问题讨论】:

  • 我不想要单个类 id 作为分类输出。相反,输出应该是这样的:给定的样本可以分类到类别 1,概率得分为 1。

标签: statistics classification svm libsvm


【解决方案1】:

您可以首先使用 one vs all 方法,并通过在 libSVM 中使用决策值选项将它们视为 2class 分类。这是通过将每个类作为正类,将类的其余部分作为每个分类的负类来完成的。

然后比较结果的决策值对样本进行分类。就像您可以将样本分配给具有最高决策值的类一样。例如,样本 1 的决策值为 0.54,类别 1,类别 2 为 0.64,类别 3 为 0.43,类别 4 为 0.80,则可以将其归为类别 4。

您还可以通过在 libSVM 中使用 -b 选项来使用概率值而不是决策函数值进行分类。

希望这会有所帮助..

【讨论】:

  • 归一化到超平面的距离并不总是能很好地衡量属于某个类别的概率。请参阅 Zadrozny 和 Elkan 的 this paper
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2019-01-30
    • 2018-10-24
    • 2012-01-09
    • 2013-11-17
    • 2011-03-21
    • 2014-05-07
    • 2016-07-15
    • 2013-01-23
    • 2014-09-28
    相关资源
    最近更新 更多