我正在使用 SVM 分类器 libsvm 进行二进制分类,其中大约 95% 属于一个类。
参数 C 和 gamma 将在实际训练发生之前设置。我按照教程进行了操作,但仍然没有得到任何好的结果。
库附带一个脚本,它应该有助于为参数选择正确的值,但这个脚本所做的基本上是最大化准确度指标 (TP+TN)/ALL,所以在我的情况下,它选择参数用流行的类标签标记所有数据。
我想选择基于召回和精度指标的参数。我怎么能解决这个问题。准确性对于我正在做的事情来说是一个毫无意义的指标。此外,我热衷于将库 libsvm 更改为可以帮助我解决此问题的任何其他库,只要它采用相同格式的数据即可。
1 1:0.3 2:0.4 ... -1 1.0.4 2:0.23 依此类推
有人可以帮忙吗?
更新:是的,我确实尝试了 grid.py 和 easy.py,但即使网格搜索使用对数刻度,它也非常慢。我的意思是,即使我只在一小部分数据上运行它,也需要数十小时才能完成。这是使用 SVM 最有效的方法吗?也尝试过 svmlight,但它的作用完全相同,它用一个标签标记所有数据。
UPDATE2:我修改了我的问题,以更好地反映我面临的问题