什么是不平衡分类
不平衡分类是一种有监督学习,但它处理的对象中有一个类所占的比例远远大于其余类。比起多分类,这一问题在二分类中更为常见。(注:下文中占比较大的类称为大类,占比较小的类称为小类)
不平衡一词指代数据中响应变量(被解释变量)的分布不均衡,如果一个数据集的响应变量在不同类上的分布差别较大我们就认为它不平衡。
比如给1万个用户发推送,只有10个回应,这个就是不平衡的。
如果拿全量数据去训练的话,会出现难以识别那10个的精度,因而需要调整比例均衡。
下面是机器学习算法在不平衡数据上精度下降的原因:
响应变量的分布不均匀使得算法精度下降,对于小类的预测精度会很低。
算法本身是精度驱动的,即该模型的目标是最小化总体误差,而小类对于总体误差的贡献很低。
算法本身假设数据集的类分布均衡,同时它们也可能假定不同类别的误差带来相同的损失(下文会详细叙述)。
具体的采样方法
欠采样法(Undersampling)
过采样法(Oversampling)
人工数据合成法(Synthetic Data Generation)
代价敏感学习法(Cose Sensitive Learning)
统计学常用的几个采样方法
1.simple random sample(简单随机抽样): 在简单随机抽样中,总体所有成员被选为样本的概率是相等的。
2.stratified sampling(分成抽样):将总体分成不同的子群,然后对所有的子群进行抽样。
3.systematic sampling(系统抽样):首先将总体中各单位按一定顺序排列,根据样本容量要求确定抽选间隔,然后随机确定起点,每隔一定的间隔抽取一个单位的一种抽样方式。
4.cluster sampling(整群抽样):总体被分为若干群的子总体,每个子总体都代表整个总体。
5.multistage sampling(多阶段抽样):是指在抽取样本时,分为两个及两个以上的阶段从总体中抽取样本的一种方法。
ref:
R语言不平衡数据分类指南https://zhuanlan.zhihu.com/p/24826792
Practical Guide to deal with Imbalanced Classification Problems in Rhttps://www.analyticsvidhya.com/blog/2016/03/practical-guide-deal-imbalanced-classification-problems/