为什么说非平衡(倾斜)的数据不好?

  统计/机器学习 监督式学习 数据预处理 开放问题    浏览次数:4399        分享
1

在面经里经常看到考官问数据非平衡、倾斜、正负比例相差很大,该怎么办,需要哪些预处理。

但是我还不是很清楚为什么非平衡的数据不好?它给模型训练带来了哪些麻烦呢?

 

zzzz   2018-09-09 12:13



   2个回答 
8

举个简单的例子,如果数据集中正例远多于负例(比如说99:1),那么我们的模型即使什么都不学习,只要预测数据为正例,就可以得到很高的准确率(比如说99%),但是这并不是一个好模型,因为它无法识别出负例,这种极端的情况下,我们通常直观上的一些评价标准并不适用这种模型。需要引用F1-Score这样的评价方法。而且在模型的训练过程中,比如说卷积神经网络,过多正例使其Loss在整个Loss中占主导地位,从而容易忽略了负例的Loss,很难收敛到一个很好的结果,通常要在Loss中加入权重,比如说Focal Loss的方法。

SofaSofa数据科学社区DS面试题库 DS面经

nlceyes   2018-09-10 16:24

谢谢!如果对于逻辑回归(它用的logloss),非平衡数据对模型有影响吗? - zzzz   2018-09-12 00:59
客气客气,我觉得有影响,正例远多于负例的情况下,对loss函数最小化的优化方向很有可能是overfitting训练集的正例,因为这样才能最有效地最小化loss函数。即使模型学习到了负例的特征从而使loss中负例部分减小,但是其所占比例太低,对于最终loss函数的值影响太小。这只是个人的理解,我也在入门学习中,应该还有很多纰漏。 - nlceyes   2018-09-13 21:06
3

机器学算法在不平衡数据上表现往往会下降

原因有:

1. 目标变量的分布不均匀使得算法精度下降,对于小类的预测精度会很低,因为学习样本不够多

2. 如果算法本身是精度驱动的,即该模型的目标是最小化总体误差,而小类对于总体误差的贡献很低

3. 有些算法本身的前提假设就是数据集的类分布均衡,同时它们也可能假定不同类别的误差带来相同的损失

SofaSofa数据科学社区DS面试题库 DS面经

tbh   2018-12-29 10:12



  相关讨论

训练集中重复的样本需要被删除吗?

一个post网页爬取问题(爬取城市数据)

%%timeit结果解释

拟合数据的Z-score规范化怎么进行操作?

有没有可以自动请求特征取值的模型,最终实现分类?

哪些机器学习分类模型适用于小数据?

对于数值型变量模型怎么知道是连续变量还是离散变量?

样本权重大小不同时,用什么分类算法比较合适?

为什么bias-variance一定会trade off?

对连续特征一定要进行分箱处理吗?

  随便看看

seaborn.distplot直方图的y轴的数值是什么意思?

柯西分布没有数学期望

为什么过拟合不好?

去掉pandas DataFrame的index的名字

sklearn训练classifier的时候报错Unknown label type