本文主要是介绍增加负样本对二分类precision, recall指标的影响,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
背景
最近在做一个二分类模型,通过增加一半随机采样负样本(3000->6000, 负正样本比由0.74:0.25上升至0.87:0.12, 即3:1上升至7:1),精确率提高2%(89%->91),召回率降低6%(62->57%);
为什么在训练集中增加负样本能够提升精确率?
从精确率的公式上解释,precision = tp/(tp+fp), 增加负样本,实际上是增强模型对负样本的识别能力,因此fp会减小(将负样本识别成正样本),因此分母减小,precision增加。会不会造成正样本识别减弱?答案是肯定的。从召回来看 recall = tp/(tp+fn), fn指的将正样本预测成负样本,随着训练集中负样本增加,负增样本比增加,模型更倾向与将正样本预测成负样本,有更多的tp -> fn, 因此,recall公式中,分母会增加,recall随之减小。
在实际线上业务中,负样本的比例非常高,因此,如何构造难的负样本,让模型在训练阶段学习到更多负样本特性,精确率会随之提升。
对应的,如果要增加召回率,则需要在训练集中增加更多的正样本,让模型学习到更多的正样本的特性。
这篇关于增加负样本对二分类precision, recall指标的影响的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!