在 Matlab 的 LibSVM 中指定权重

Posted

技术标签:

【中文标题】在 Matlab 的 LibSVM 中指定权重【英文标题】:Specify weights in LibSVM in Matlab 【发布时间】:2016-07-07 04:23:07 【问题描述】:

我正在使用 Matlab 上的 LibSVM 来解决分类问题,数据集由 32 个不同的类组成。某些类的实例数量非常少。现在我想在使用 OvR 方法训练模型时为每个类设置权重,有人可以帮助我吗?

【问题讨论】:

【参考方案1】:

您可以使用-w 参数指定不平衡数据的权重。来自documentation:

-wi weight:设置类i的参数C为weight*C,用于C-SVC(默认1)

因此,您应该传递的参数如下所示。实例数量较少的类应该获得较高的权重:

-w0 10 -w1 20 -w2 30

【讨论】:

我可以将参数 C 与每个类的权重相乘吗? 这正是权重的作用。参数 C 是一个标量,权重提供相对缩放。还是我以某种方式误解了您的问题?

以上是关于在 Matlab 的 LibSVM 中指定权重的主要内容,如果未能解决你的问题,请参考以下文章

关于libsvm工具箱在64位matlab下的安装说明

如何在matlab中指定回归树的深度?

如何从matlab中用户定义的函数返回一个值,该函数的回调在uicontrol中指定

MATLAB读写excel中指定sheet行列中的数据 and 去除含有NaN的行或者列

如何在 Java 中获取 LibSVM 分类器的权重?

架构指令不按架构中指定的 LTR 顺序执行