机器学习模型构建时正负样本不平衡带来的问题及解决方法
2018-01-31 11:26
351 查看
在机器学习模型构建的时候,我们往往会遇到数据样本正负比例极其不平衡的情况,例如在征信模型或者判断客户购买商品是否使用分期时,往往正负样本比达到10:1,这样会造成许多实际问题。
样本不均衡会导致:对比例大的样本造成过拟合,也就是说预测偏向样本数较多的分类。这样就会大大降低模型的范化能力。往往accuracy(准确率)很高,但auc很低。
解决办法:
1.上采样:
增加样本数较少的样本,其方式是直接复制原来的样本。样本较少时采用。
2.下采样:
减少样本数较多的样本,其方式是丢弃这些多余的样本。样本较多时采用。
实际情况下,上采样用的更多一些。
3.合成样本:
增加样本数目较少的那一类的样本,合成指的是通过组合已有的样本的各个 feature 从而产生新的样本。
一种最简单的方法就是从各个 feature 中随机选出一个已有值,然后拼接成一个新的样本,这种方法增加了样本数目较少的类别的样本数,作用与上面提到的上采样方法一样,不同点在于上面的方法是单纯的复制样本,而这里则是拼接得到新的样本。这类方法中的具有代表性的方法是 SMOTE(Synthetic Minority Over-sampling Technique),这个方法通过在相似样本中进行 feature 的随机选择并拼接出新的样本。
4.改变样本权重:
增大样本数较少类别的样本的权重,当这样的样本被误分时,其损失值要乘上相应的权重,从而让分类器更加关注这一类数目较少的样本。
样本不均衡会导致:对比例大的样本造成过拟合,也就是说预测偏向样本数较多的分类。这样就会大大降低模型的范化能力。往往accuracy(准确率)很高,但auc很低。
解决办法:
1.上采样:
增加样本数较少的样本,其方式是直接复制原来的样本。样本较少时采用。
2.下采样:
减少样本数较多的样本,其方式是丢弃这些多余的样本。样本较多时采用。
实际情况下,上采样用的更多一些。
3.合成样本:
增加样本数目较少的那一类的样本,合成指的是通过组合已有的样本的各个 feature 从而产生新的样本。
一种最简单的方法就是从各个 feature 中随机选出一个已有值,然后拼接成一个新的样本,这种方法增加了样本数目较少的类别的样本数,作用与上面提到的上采样方法一样,不同点在于上面的方法是单纯的复制样本,而这里则是拼接得到新的样本。这类方法中的具有代表性的方法是 SMOTE(Synthetic Minority Over-sampling Technique),这个方法通过在相似样本中进行 feature 的随机选择并拼接出新的样本。
4.改变样本权重:
增大样本数较少类别的样本的权重,当这样的样本被误分时,其损失值要乘上相应的权重,从而让分类器更加关注这一类数目较少的样本。
相关文章推荐
- 机器学习中国如何解决正负样本不均衡问题
- pearson 相关系数 & 机器学习模型中不平衡样本问题
- 分类中样本数据不平衡问题的解决方法
- 正负样本不平衡的解决方法
- Struts1.2+Spring2.0+Hibernate3.1项目框架构建中的问题及解决方法集锦(1) 转帖
- 电脑不能连接远程桌面方法(彻底解决因操作系统带来的问题)
- 关于delphi中控件刷新时带来的闪烁问题(gif),转自别人的解决方法描述。
- N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
- WordPress主题文件UTF-8 BOM带来的问题及解决方法
- Qt3和Qt4版本差异带来的问题和解决方法
- 关于arcgis用GP服务模型 生成等直面没有跟地图一致,颜色区设置及数据接收问题的解决方法!
- ListView控件复用带来的问题及解决方法
- 64位进程调用32位dll的解决方法 / 程序64位化带来的问题和思考
- 多模块后带来的问题解决方法 - OSGI原形(.NET)
- 有关Powerdesgner数据模型设计中,属性名同名问题的解决方法
- Qt3和Qt4版本差异带来的问题和解决方法
- [Nebula2]使用3dmax7,nmaxtoolbox导出模型到nebula2遇到的问题及解决方法
- CSS兼容性解决方法(盒模型)- !important的IE7,Firefox问题
- N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
- Struts1.2+Spring2.0+Hibernate3.1项目框架构建中的问题及解决方法集锦