首页 文章

使用libsvm提高我的标准化准确性的建议

提问于
浏览
1

当我尝试使用libsvm对数据进行分类时,我遇到了问题 . 我的训练和测试数据非常不 balancer . 当我进行网格搜索svm参数并用类的权重训练我的数据时,测试给出了96.8113%的准确度 . 但由于测试数据不 balancer ,所有正确的预测值均来自负类,后者大于正类 .

我尝试了很多东西,从改变权重到改变伽玛和成本值,但我的标准化准确度(考虑到正类和负类)在每次尝试中都较低 . 使用默认的grid.py参数训练50%的阳性和50%的阴性,我的准确度非常低(18.4234%) .

我想知道问题是否在我的描述中(如何构建特征向量),在不 balancer 中(我应该以另一种方式使用 balancer 数据吗?)还是应该更改我的分类器?

1 回答

  • 2

    更好的数据总是有帮助

    我认为不 balancer 是问题的一部分 . 但问题的一个更重要的部分是你如何评估你的分类器 . 鉴于数据中正面和负面的分布,评估准确性几乎没用 . 培训分别为50%和50%,并对分布为99%和1%的数据进行测试 .

    现实生活中存在的问题就像你学习的那样(对于否定的积极因素有很大的不 balancer ) . 我举两个例子:

    • 信息检索:给定庞大集合中的所有文档返回与搜索项q相关的子集 .

    • 人脸检测:此大图像标记有人脸的所有位置 .

    这些类型系统的许多方法都是基于分类器的 . 要评估两个分类器,通常使用两个工具:ROC curvesPrecision Recall曲线和F-score . 这些工具提供了一种更有原则的方法来评估一个分类器何时比另一个分类器工作得更好 .

相关问题