机器在学习
建模过程中,经常会遇到样本分布不均衡的问题。比如,问题商户判断,消费预测,信用卡逾期预测等等模型。
碰到数据分布不均匀,首先要关注的,应当是如何获得更多的数据。
当然,这条是最简单,也是最难的。如果出现了样本分布不均衡问题,也不太可能有机会让你获取更多的数据。
简单粗暴:
不同的模型,对数据不均衡问题,容忍度是不一致的。决策树,GBDT等树模型,受数据不均衡的影响较小,可以选择合适的模型。
通常情况下,我们会使用准确率(Accuracy)和误差(Cost)两种方式来判断机器学习的成果.但是在不均衡的数据面前,高的准确率和低的误差就显得没有那么有用和重要了。
假如你的数据里,99%的用户是良好用户,1%的用户信用卡逾期。你的模型预测所有人都是良好用户,也可以获得不错的准确率,但这个模型显然没有做到预测信用卡逾期的目的。
因此,我们需要更换模型的评价标准。通常是使用混淆矩阵,来计算精准率P和召回率R,然后再通过P,R来计算F1 Score。
SMOTE的全称是Synthetic Minority Over-Sampling Technique,译为“人工少数类过采样法”。SMOTE没有直接对少数类进行重采样,而是设计了算法来人工合成一些新的少数类的样本。
下面举一个例子,来描述smot方法的实现过程,数据分为红色样本与蓝色样本,可以看出,两种颜色样本分布及其不均衡。
第1步:找到红色样本
第2步:找到距离红色样本最近的K个蓝色样本,距离的计算方式有多重,常见的有欧氏距离,余弦距离,曼哈顿距离等
下图中5个最近的蓝色样本被圈起来了
第3步:随机从这K个最近点选择一个样本
第4步:在红色样本与被选择出的最近蓝色样本中连线,并在连线上找一点(这个点可以随机找)。找出来的点就是人工合成的新样本,图中用绿色标识。
重复上面的步骤,就可以生成多个样本。
在实际的数据挖掘任务中,可以同时使用上面的多种方法,但最关键的,还是要理解业务,熟悉数据意义。
The End
已发布
分类
标签:
您的电子邮箱地址不会被公开。 必填项已用*标注
评论 *
显示名称
电子邮箱地址
网站地址
Δ
发表回复