分类中数据不平衡问题的解决经验[转载]

问题:研究表明,在某些应用下,1∶35的比例就会使某些分类方法无效,甚至1∶10的比例也会使某些分类方法无效。
(1)少数类所包含的信息就会很有限,从而难以确定少数类数据的分布,即在其内部难以发现规律,进而造成少数类的识别率低
(2)数据碎片。很多分类算法采用分治法,样本空间的逐渐划分会导致数据碎片问题,这样只能在各个独立的子空间中寻找数据的规律,对于少数类来说每个子空间中包含了很少的数据信息,一些跨空间的数据规律就不能被挖掘出来。
(3)不恰当的归纳偏置。许多归纳推理系统在存在不确定时往往倾向于把样本分类为多数类。
——————————————
经验:
我现在要对一个非平衡数据进行分类 类别0占比例很大 类别1占比例很小 这时候我该怎么处理呢? 想了想 你们做贴吧分类应该也遇到过数据不平衡问题。
那你只能人工调整训练样本中类别1的数量啊 ,自己在样本中加点
一般加多少 ?
差不多1:1或者4:6 ,特别是加一些那种靠近分类面的样本(典型样本挑选)
人工挑一些?
恩 ,我之前做马甲挖掘,也是人工加一些,后来效果提升明显
——————————————
解决办法总结:

1. 过抽样
抽样处理不平衡数据的最常用方法,基本思想就是通过改变训练数据的分布来消除或减小数据的不平衡。
过抽样方法通过增加少数类样本来提高少数类的分类性能 ,最简单的办法是简单复制少数类样本,缺点是可能导致过拟合,没有给少数类增加任何新的信息。改进的过抽样方法通过在少数类中加入随机高斯噪声或产生新的合成样本等方法。
注意:好像对svm没用

2.欠抽样
欠抽样方法通过减少多数类样本来提高少数类的分类性能,最简单的方法是通过随机地去掉一些多数类样本来减小多数类的规模,缺点是会丢失多数类的一些重要信息,不能够充分利用已有的信息。

3. 算法层面,采用代价敏感方法。
(1)重构训练集的方法。不改变已有算法,而是根据样本的不同错分代价给训练集中的每一个样本赋一个权值,接着按权重对原始样本集进行重构。
(2)引入代价敏感因子,设计出代价敏感的分类算法。通常对小样本赋予较高的代价,大样本赋予较小的代价,期望以此来平衡样本之间的数目差异。

4. 特征选择
样本数量分布很不平衡时,特征的分布同样会不平衡。尤其在文本分类问题中,在大类中经常出现的特征,也许在稀有类中根本不出现。因此,根据不平衡分类问题的特点,选取最具有区分能力的特征,有利于提高稀有类的识别率 。
按照一个经验性的样本比例,挑选正负2个样本集,分别从中选择最能表示该类样本的特征集,然后将这些特征集合并作为最后挑选的特征。

时间: 2024-10-23 05:29:15

分类中数据不平衡问题的解决经验[转载]的相关文章

分类中数据不平衡问题的解决经验

问题:研究表明,在某些应用下,1∶35的比例就会使某些分类方法无效,甚至1∶10的比例也会使某些分类方法无效. (1)少数类所包含的信息就会很有限,从而难以确定少数类数据的分布,即在其内部难以发现规律,进而造成少数类的识别率低 (2)数据碎片.很多分类算法采用分治法,样本空间的逐渐划分会导致数据碎片问题,这样只能在各个独立的子空间中寻找数据的规律,对于少数类来说每个子空间中包含了很少的数据信息,一些跨空间的数据规律就不能被挖掘出来. (3)不恰当的归纳偏置.许多归纳推理系统在存在不确定时往往倾向

如何解决机器学习中数据不平衡问题

作者:无影随想 时间:2016年1月. 出处:http://www.zhaokv.com/2016/01/learning-from-imbalanced-data.html 声明:版权所有,转载请联系作者并注明出处 这几年来,机器学习和数据挖掘非常火热,它们逐渐为世界带来实际价值.与此同时,越来越多的机器学习算法从学术界走向工业界,而在这个过程中会有很多困难.数据不平衡问题虽然不是最难的,但绝对是最重要的问题之一. 一.数据不平衡 在学术研究与教学中,很多算法都有一个基本假设,那就是数据分布是

sql server 中删除表中数据truncate和delete的区别(转载自.net学习网)

我们都知道truncate table可以用来删除整个表的内容,它与delete后面不跟where条件的效果是一样.但除此之外,我们还清楚它们之间有其它的区别吗?本章我们将一起讨论truncate与delete区别. 我们先看一下truncate table的说明:删除表中的所有行,而不记录单个行删除操作.TRUNCATE TABLE在功能上与没有WHERE子句的DELETE语句相同:但是,TRUNCATE TABLE速度更快,使用的系统资源和事务日志资源更少. truncate table的语

分类问题中的数据不平衡问题

http://blog.csdn.net/heyongluoyao8/article/details/49408131 http://blog.csdn.net/lxg0807/article/details/71440477 ??在很多机器学习任务中,训练集中可能会存在某个或某些类别下的样本数远大于另一些类别下的样本数目.即类别不平衡,为了使得学习达到更好的效果,因此需要解决该类别不平衡问题. Jason Brownlee的回答: 原文标题:8 Tactics to Combat Imbala

机器学习中的数据不平衡问题

最近碰到一个问题,其中的阳性数据比阴性数据少很多,这样的数据集在进行机器学习的时候会使得学习到的模型更偏向于预测结果为阴性.查找了相关的一些文献,了解了一些解决这个问题的一些方法和技术. 首先,数据集不平衡会造成怎样的问题呢.一般的学习器都有下面的两个假设:一个是使得学习器的准确率最高,另外一个是学习器应该用在与训练集有相同分布的 测试集上.如果数据不平衡,那么学习器使得它的准确率最高肯定是更偏向于预测结果为比例更大的类别.比如说阳性的比例为1%,阴性的比例为99%,很明显 的是即使不学习,直接

数据不平衡的解决办法

转载自:https://www.leiphone.com/news/201706/dTRE5ow9qBVLkZSY.html 数据不平衡问题主要存在于有监督机器学习任务中.当遇到不平衡数据时,以总体分类准确率为学习目标的传统分类算法会过多地关注多数类,从而使得少数类样本的分类性能下降.绝大多数常见的机器学习算法对于不平衡数据集都不能很好地工作. 1.1. 欠采样 欠采样是通过减少丰富类的大小来平衡数据集,当数据量足够时就该使用此方法.通过保存所有稀有类样本,并在丰富类别中随机选择与稀有类别样本相

【机器学习】解决数据不平衡问题

在机器学习的实践中,我们通常会遇到实际数据中正负样本比例不平衡的情况,也叫数据倾斜.对于数据倾斜的情况,如果选取的算法不合适,或者评价指标不合适,那么对于实际应用线上时效果往往会不尽人意,所以如何解决数据不平衡问题是实际生产中非常常见且重要的问题. 什么是类别不平衡问题 我们拿到一份数据时,如果是二分类问题,通常会判断一下正负样本的比例,在机器学习中,通常会遇到正负样本极不均衡的情况,如垃圾邮件的分类等:在目标检测SSD中,也经常遇到数据不平衡的情况,检测器需要在每张图像中评价一万个到十万个候选

抓取网页中的内容、如何解决乱码问题、如何解决登录问题以及对所采集的数据进行处理显示的过程

本文主要介绍如何抓取网页中的内容.如何解决乱码问题.如何解决登录问题以及对所采集的数据进行处理显示的过程.效果如下所示: 1.下载网页并加载至HtmlAgilityPack 这里主要用WebClient类的DownloadString方法和HtmlAgilityPack中HtmlDocument类LoadHtml方法来实现.主要代码如下. var url = page == 1 ? "http://www.cnblogs.com/" : "http://www.cnblogs

Oracle数据转移Mysql中遇到的问题以及解决办法

前几天因工作需要我得将Oracle数据库中几十张表转移到Mysql中,由于之前没有相关经验,上网简单百度后选用Navcat Premium软件工作. Navcat Premium进行数据转移有三种办法:1.复制表  2.导出.导入数据  3.导出成sql脚本,执行. 一开始使用复制表的方法,打开菜单栏"工具"的数据传输功能,左边选择要复制的表,右边选择连接然后选中目标数据库,接下在就是next by next的一键式操作.这个方法真的很方便,但是bug也很多,最大的bug是数值类型不匹