如何使用 LibSVM 进行“多分类”方法?

Posted

技术标签:

【中文标题】如何使用 LibSVM 进行“多分类”方法?【英文标题】:How to conduct a 'multi classification' approach with LibSVM? 【发布时间】:2015-12-18 06:30:20 【问题描述】:

我是LibSVM 的初学者。我想通过LibSVM 使用one vs all 策略多分类。为此,我已经阅读了它的基本内容,但它们并没有让我产生想法。有什么好的Java代码示例吗?

【问题讨论】:

你能举一个你已经做过的例子吗(用代码)? 【参考方案1】:

根据implementation documentation,LIBSVM 库默认使用“one vs all”策略进行多类预测。

对于代码示例,您可以查看 LIBSVM 的 Java 端口,可以找到 here for training 和 here for prediction。

基本上,您可以使用提供的 CLI 进行训练/预测。如果您想在自己的代码中使用它,则必须执行一些“重构”以使其更适合您的目的。

在java中使用它的基本步骤是:

    按照图书馆的要求提供“稀疏”格式的培训文件。这只是“classLabel feature_id1:feature_value1 feature_id2:feature_value2 ...”。类标签和 feature_id 必须是整数。 获得培训文件后,您可以使用他们网站上描述的 CLI 工具(您只需配置内核特定参数)。在您的情况下,该库将自动检测超过 2 个类,因此它将开始使用“one vs all”训练多类 SVM。 重复 1.) 以获取您的测试文件并继续使用 CLI 工具以评估您的模型。

【讨论】:

以上是关于如何使用 LibSVM 进行“多分类”方法?的主要内容,如果未能解决你的问题,请参考以下文章

java中使用libsvm的文档分类

使用 LibSVM 进行分类

如何使用libsvm进行回归预测

如何使用libsvm进行回归预测

分类分数:SVM

libsvm处理多分类的问题