C# LibSVMsharp 库中的 LIBSVM“决策值”
Posted
技术标签:
【中文标题】C# LibSVMsharp 库中的 LIBSVM“决策值”【英文标题】:LIBSVM 'decision values' in C# LibSVMsharp library 【发布时间】:2015-11-27 07:10:36 【问题描述】:据我了解,在命令行上训练 SVM 时,您可以使用 -b 0(默认)或 -b 1 指定 -b 参数以分别启用“决策值”或“概率估计”。我正在使用带有 5 个类的基于 C-SVC 的多类问题的 LIBSVM。我可以在 C# 库中使用
获得概率估计testset.PredictProbability(model, out estimations);
预测后,我可以在“估计”输出对象中看到 5 个概率估计。我的理解是 5 类模型应该有 10 个决策值,即一个用于 1 类与 2 类,另一个用于 1 类与 3 类,依此类推。如何获得“决策值”?
【问题讨论】:
【参考方案1】:通过 libsvm API 公开了三个预测函数。预测,用概率预测和用值预测。目前无法同时获得概率估计和决策值。
可以通过调用PredictValues函数返回决策值。它们确实会以 X 类与 Y 类的形式进行分类,因为多类 SVM 是通过一对一的方法执行的。这导致 k*(k-1)/2 个分类器被训练(一个分离每对类)。这些是 SVM 使用的原始决策值。另一方面,概率是每个类的估计概率,因此当然每个类只包含一个值。
【讨论】:
以上是关于C# LibSVMsharp 库中的 LIBSVM“决策值”的主要内容,如果未能解决你的问题,请参考以下文章