分类分数:SVM
Posted
技术标签:
【中文标题】分类分数:SVM【英文标题】:Classification score: SVM 【发布时间】:2011-09-17 18:25:36 【问题描述】:我正在使用 libsvm 进行多类分类。如何附加分类分数,以将分类的置信度与给定样本的输出进行比较:
Class 1: score1
Class 2: score2
Class 3: score3
Class 4: score4
【问题讨论】:
我不想要单个类 id 作为分类输出。相反,输出应该是这样的:给定的样本可以分类到类别 1,概率得分为 1。 【参考方案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 中,这种实现是基于一对一的策略。
【讨论】:
以上是关于分类分数:SVM的主要内容,如果未能解决你的问题,请参考以下文章
使用 SVM 作为图像分类器的精度/F 分数是不是可以达到 10%?
多分类SVM损失函数: Multiclass SVM loss
使用 scikit-learn SVM 将预测标记为概率分数预测/AUC