你如何看待不平衡数据

1. 不平衡数据的定义

在分类问题中,类别之间的分布不均匀导致数据的不平衡。比如,针对二分类问题,target取值为0和1,当其中一方(如y=1)的占比远小于另一方(y=0)的时候,就构成了不平衡数据。

那么到底是需要差异多少,才算是失衡呢,根本Google Developer的说法,我们一般可以 把失衡程度分为3个级别

  • 轻度:20-40%
  • 中度:1-20%
  • 极度:<1%

一般来说,失衡样本在构建模型时难以发现问题,甚至可以得到很高的accuracy,为什么呢?假设我们有一个极度失衡的样本,y=1的占比为1%,那么,我们训练的模型,会偏向于把测试集预测为0,从而导致模型整体的预测准确性较高,如果我们只是关注这个指标的话,可能就会被骗了。

3. 处理不平衡数据的理论方法

在我们开始用Python处理失衡样本之前,我们先来了解一下关于处理失衡样本的一些理论知识,前辈们关于这类问题的解决方案,主要包括以下:

  • 从数据角度:通过应用一些 欠采样过采样技术来处理失衡样本。欠采样就是对类别数量多的样本进行抽样,保留类别数量少的样本的全量,使得两类的数量相当;过采样就是对少数类进行多次重复

猜你喜欢

转载自blog.csdn.net/nixiang_888/article/details/109770903