如何使用 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 进行“多分类”方法?的主要内容,如果未能解决你的问题,请参考以下文章