我遇到了数据不平衡的三类问题(90%、5%、5%)。现在我想使用 LIBSVM 训练一个分类器。

问题在于,LIBSVM 优化了其参数 gamma 和 Cost 以获得最佳精度,这意味着 100% 的示例被归类为 1 类,这当然不是我想要的。

我试过修改权重参数 -w 没有太大成功。

所以我想要的是,以一种优化成本和 Gamma 的方式修改 grid.py,以实现按类别分隔的精度和召回率,而不是整体精度。有没有办法做到这一点?或者有没有其他脚本可以做这样的事情?

最佳答案

-w 参数是不平衡数据所需的参数。你都尝试了些什么?

如果您的类(class)是:

  • 类 0:90%
  • 第 1 类:5%
  • 2 级:5%

  • 您应该将以下参数传递给 svm:
    -w0 5 -w1 90 -w2 90
    

    关于machine-learning - 使用 LIBSVM grid.py 处理不平衡数据?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11410086/

    10-12 22:07