roc曲线 vs pr曲线(AUC vs f1)
什么时候应使用AUC?哪个时候应使用F1?
一直不理解auc值与F1值的应用场景,什么情况下使用哪种指标可以更好观察模型表现?
之前的理解是觉得使用f1值(即采用召回率和精确率)来评价模型会更好。
因为召回率和精确率更直观,可以使业务方对模型的预测效果有较准确预期
但auc其实更应该更多使用来观察模型
接下来本篇会将roc曲线与pr曲线做对比,并且介绍auc的应用场景
ROC曲线 vs PR曲线
相比P-R曲线,ROC曲线有一个特点,当正负样本的分布发生变化时,ROC曲线的形状能够基本保持不变,而P-R曲线的形状一般会发生较剧烈的变化。
举例来说,图2.3是ROC曲线和P-R曲线的对比图,其中图2.3(a)和图2.3(c)是ROC曲线,图2.3(b)和图2.3(d)是P-R曲线,图2.3(c)和图2.3(d)则是将测试集中的负样本数量增加10倍后的曲线图。
可以看出,P-R曲线发生了明显的变化,而ROC曲线形状基本不变。这个特点让ROC曲线能够尽量降低不同测试集带来的干扰,更加客观地衡量模型本身的性能。
**这有什么实际意义呢?**在很多实际问题中,正负样本数量往往很不均衡。比如,计算广告领域经常涉及转化率模型,正样本的数量往往是负样本数量的1/1000甚至1/10000。若选择不同的测试集,P-R曲线的变化就会非常大,而ROC曲线则能够更加稳定地反映模型本身的好坏。所以,ROC曲线的适用场景更多,被广泛用于排序、推荐、广告等领域。
但需要注意的是,选择P-R曲线还是ROC曲线是因实际问题而异的,如果研究者希望更多地看到模型在特定数据集上的表现,P-R曲线则能够更直观地反映其性能。”
结论
1.调优观察模型时,使用auc值会更好衡量模型性能,因为受到测试集和验证集的分布影响小。
2.模型调优完毕,还需准备一份需求可能出现的分布的测试集,将这份测试集输入模型,输出一个精确率和召回率,作为给业务方模型的预期效果,也可以直观看出模型对现实可能出现的数据集的效果