首页 > 试题广场 >

正负样本不平衡的解决办法?评价指标的参考价值?

[问答题]

正负样本不平衡的解决办法?评价指标的参考价值?

样本不平衡从几个方面入手

一是数据层面,可以欠采样和过采样

欠采样的话将样本采样至1:1,而且为了不浪费数据,采用ensemble,过采样的话采用smote算法,或者数据不采样,只调整分类阈值

二是模型层面,可以使用代价敏感学习或者转换成one class问题

三是评价层面,选用合理的指标,比如少数类的召回率,auc等等

一个合理且简单的方法是:采用随机森林等集成算法降低过拟合风险,然后调整分类阈值规避采样问题,然后选用合理的评估指标防止偏见

发表于 2020-02-24 00:31:19 回复(0)

过采样:增加少数类样本的数量

随机过采样

采样算法通过某一种策略改变样本的类别分布,以达到将不平衡分布的样本转化为相对平衡分布
的样本的目的,而随机采样是采样算法中最简单也最直观易懂的⼀种方法。

随机过抽样是增加少数类样本数量,可以事先设置多数类与少数类最终的数量比例,在保留多数类样本不变的情况下,根据比例随机复制少数类样本,在使⽤用的过程中为了保证所有的少数类样本信息都会被包含,可以先完全复制一份全量的少数类样本,再随机复制少数样本使得满足数量比例,具体步骤如下:

  • 首先在少数类集合中随机选中⼀些少数类样本
  • 然后通过复制所选样本生成样本集合E
  • 将它们添加到中来扩大原始数据集从而得到新的少数类集合

中的总样本数增加了个新样本,且的类分布均衡度进行了相应的调整,如此操作可以改变类分布平衡度从而达到所需水平。

SMOTE算法(Synthetic Minority Oversampling Technique)

在合成抽样技术方⾯面,Chawla NY等人提出的SMOTE过抽样技术是基于随机过采样算法的一种改进方案,由于随机过采样简单复制样本的策略略来增加少数类样本,这样容易产生模型过拟合的问题,即使模型学习到的信息过于特别(Specific)而不够泛化(General)。

SMOTE的主要思想是利用特征空间中现存少数类样本之间的相似性来建立人工数据,特别是,对于子集,对于每一个样本 使用K-近邻法,其中K-近邻被定义为考虑中的K个元素本身与的欧氏距离在n维特征空间X中表现为最小幅度值的样本。由于不是简单地复制少数类样本,因此可以在一定程度上避免分类器的过度拟合,实践证明此方法可以提高分类器的性能。但是由于对每个少数类样本都生成新样本,因此容易发生成样本重叠(overlapping)的问题。算法流程如下:

  • 对于少数类中的每⼀个样本,以欧氏距离为标准计算它到少数类样本集中所有样本的距离,得到K近邻;
  • 根据样本不平衡比例设置⼀个采样比例以确定采样倍率N,对于每⼀个少数类样本,从其K近邻中随机选择若干个样本, 假设选择的近邻为
  • 对于每一个随机选出的近邻,分别与原样本按照如下的公式构建新的样本:

⽋采样:减少多数类样本的数量量

随机⽋采样

减少多数类样本数量最简单的⽅法便是随机剔除多数类样本,可以事先设置多数类与少数类最终的数量⽐例,在保留少数类样本不变的情况下,根据⽐例随机选择多数类样本。

  • ⾸先我们从中随机选取⼀些多数类样本E
  • 将这些样本从中移除,就有

优点在于操作简单,只依赖于样本分布,不依赖任何距离信息,属于⾮启发式⽅法;缺点在于会丢失⼀部分多数类样本的信息,⽆法充分利⽤已有信息。

Tomek Links⽅法

定义:Tomek links被定义为相反类最近邻样本之间的⼀对连接。

符号约定:给定⼀个样本对,其中 ,记是样本x_ix_j之间的距离

公式表⽰:如果不存在任何样本,使得,那么样本对被称为Tomek Links使⽤这种⽅法,如果两个样本来⾃Tomek Links,那么他们中的⼀个样本要么是噪声要么它们都在两类的边界上。所以Tomek Links⼀般有两种⽤途:在⽋采样中:将Tomek Links中属于是多数类的样本剔除;在数据清洗中,将Tomek Links中的两个样本都剔除。

综合采样:将过采样和欠采样结合

SMOTE+Tomek Links

SMOTE+Tomek Links⽅法的算法流程⾮常简单:

  • 利⽤SMOTE⽅法⽣成新的少数类样本,得到扩充后的数据集T
  • 剔除T中的Tomek Links对
编辑于 2019-04-23 20:19:19 回复(0)