libsvm 可以将预测结果作为有符号距离返回吗?

Posted

技术标签:

【中文标题】libsvm 可以将预测结果作为有符号距离返回吗?【英文标题】:Can libsvm return predict results as signed distances? 【发布时间】:2013-12-29 12:59:27 【问题描述】:

根据 libsvm 的文档,预测结果要么是预测的类标签,要么是类的概率估计。我想将预测结果作为到边距的有符号距离。

在OpenCV中实现,文档如下:

C++: float CvSVM::predict(const Mat& sample, bool returnDFVal=false )

const returnDFVal – 指定返回值的类型。如果是真的 问题是 2 类分类,然后方法 返回 决策函数值,即到边距的有符号距离,否则 该函数返回一个类标签(分类)或估计 函数值(回归)。

完整的文档可以在here找到。

我如何使用 svm-predict.exe 来实现这个功能,或者我可以使用它吗?

【问题讨论】:

【参考方案1】:

好的,对于那些只是不知道什么是SVM的人,我复制了你可能需要在这里查看的函数:https://gist.github.com/blackball/0350fbe8d6783cbf41ee

从第 27 行开始,数组 *prob_estimates* 就是您所需要的。编写另一个预测函数,输出 *prob_estimates* 应该很简单。

【讨论】:

以上是关于libsvm 可以将预测结果作为有符号距离返回吗?的主要内容,如果未能解决你的问题,请参考以下文章

LIBSVM:未知的预测标签给出的准确度为 0%

使用 LIBSVM 预测用户的真实性

如何使用 libsvm 计算多类预测的概率?

R e1071 预测与 libsvm 不同

当你使用 NaN 作为 LIBSVM 的特征值时会发生啥?

带有 LIBSVM 的 epsilon-SVR