训练数据样本不均衡问题的处理方法
1 不均衡数据出现场景
1)搜索引擎的点击预测(网页上推送的广告很多,但被点击的概率往往非常小)
2)电子商务领域的商品推荐(网购平台会推送各种商品,但商品实际被购买的比例很低)
3)信用卡欺诈检测(办理信用卡的用户中,正常合法的用户群占绝大多数,而利用欺诈手段办理信用卡业务的用户很少,建立并训练欺诈检测时样本很不均衡)
4)网络攻击识别
5)疾病诊断等
有时候我们更关心的不是大多数样本发生的概率,而是低概率发生的事件。如上述的信用卡欺诈检测,我们更关心有欺诈动机的用户。如果训练好模型使用预测准确率做评价指标,模型把所有的用户都预测为合法办理,由于绝大部分用户是合法办理信用卡,模型得到的预测准确率可能达到99%,但显然这个模型对于解决欺诈的实际问题并没有意义。
2 不均衡数据处理方法
- 数据角度:抽样,使数据相对平衡
- 算法角度:考虑不同误差分类情况代价的差异性对算法进行优化
2.1 采样
2.1.1 随机欠采样
1)方法:从多数类样本中随机选择少量的样本,和原本少数类样本进行合并,得到新的训练数据集,具体可以使用有放回采样、无放回采样等
2)缺点:会造成多数类样本的信息缺失,选取的样本会有偏差
3)解决:使用集成学习算法
并联算法:对多数类样本进行n次有放回采样,然后分别于少数类样本进行组合,得到n份数据集,分别使用数据集训练处n个模型,最终的模型预测结果取这n个模型预测结果的平均值
级联算法:选取多数类样本和少数类样本进行组合,得到n分数据集,使用其中一份数据集训练处一个模型,然后使用该模型对其他数据集进行预测。如果预测正确,则该份数据集就不在参与下一轮的训练,因为预测错误的数据集才能给模型提供更多样的信息,故使用预测错误的数据集参与下一轮训练。