前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >机器学习评价指标合辑(Precision/Recall/F1score/P-R曲线/ROC曲线/AUC)

机器学习评价指标合辑(Precision/Recall/F1score/P-R曲线/ROC曲线/AUC)

作者头像
枫桦
发布2022-08-02 13:57:03
1.7K0
发布2022-08-02 13:57:03
举报
文章被收录于专栏:AI算法札记

在训练模型时,我们需要使用各种评价指标评估模型的效果。然而,在我初入门时,很多概念都搞不清楚,网上大部分总结或者比较简单,或者杂糅在一起,有点凌乱,甚至可能还有错误,在此抛砖引玉,总结一下各种常用的评价指标,以备使用时查阅,如有错误欢迎指出。

知乎文章

https://zhuanlan.zhihu.com/p/505034942

1. 分类准确率

分类正确的样本占总样本个数的比例。

2. TP/FP/FN/TN

  • True positive(TP): 真正例,将正类正确预测为正类数;
  • False positive(FP): 假正例,将负类错误预测为正类数;
  • False negative(FN):假负例,将正类错误预测为负类数;
  • True negative(TN): 真负例,将负类正确预测为负类数。

注:后面的P/N代表预测值,如果预测值与真实值一样,则是真x例,反之是假x例。

3. Precision/Recall/F1 score

1)Precision(精确率):分类正确的正样本个数占分类器判定为正样本的样本个数的比例

分类正确的正样本个数:即真正例(TP)。

分类器判定为正样本的个数:包括真正例(TP)和假正例(FP)

2)Recall(召回率):分类正确的正样本个数占真正的正样本个数的比例。

分类正确的正样本个数:即真正例(TP)。真正的正样本个数:包括真正例(TP)和假负例(FN)

3)F1-score:精确率和召回率的调和均值。

4)F score

F1 score的通用形式,F1 score认为precision和recall同等重要;

beta >1,Recall更重要;

beta <1,Precision更重要。

4. P-R曲线及其绘制

Precision-Recall曲线,简称P-R曲线,其横轴是召回率,纵轴是精确率。下面举例说明其绘制方法。在机器学习中分类器往往输出的不是类别标号,而是属于某个类别的概率值,根据分类器的预测结果从大到小对样例进行排序,逐个把样例加入正例进行预测,算出此时的P、R值。

如上图:真实情况正例反例各有10个。先用分数score=0.9作为阈值(大于等于0.9为正例,小于0.9为反例),此时TP=1,FP=0,FN=9,故根据Precision/Recall公式,P=1,R=0.1。用0.8作为阈值,P=1,R=0.2。用0.7作为阈值,P=0.67,R=0.2。用0.6作为阈值,P=0.75,R=0.3。以此类推。。。最后得到一系列P、R值序列,就画出P-R曲线(如下图,不对应上面数据)。即P-R曲线是通过将阈值从高到低移动而生成。P-R曲线上一个点的含义是,在该阈值下,模型将大于该阈值的结果判定为正样本,小于该阈值的结果判定为负样本,此时返回结果对应的召回率和精确率。P-R 曲线越靠近右上角性能越好。F1score综合考虑了P值和R值。

5.ROC曲线及其绘制/AUC及其计算/FPR/TPR

ROC曲线用FPR(假正例率)作横轴,用TPR(真正例率)作纵轴

FPR:真实负样本被判定为正例的数量 占 全部真实负样本数量 的比例 TPR:真实正样本被判定为正例的数量 占 全部真实正样本数量 的比例 同样用上面的数据, 用0.9作为阈值,此时TP=1,FP=0,FN=9,TN=10,故TPR=0.1,FPR=0。用0.8作为阈值,此时TP=2,FP=0,FN=8,TN=10,故TPR=0.2,FPR=0。用0.7作为阈值,此时TP=2,FP=1,FN=8,TN=9,故TPR=0.2,FPR=0.1。用0.6作为阈值,此时TP=3,FP=1,FN=7,TN=9,故TPR=0.3,FPR=0.1。以此类推。。。最后的ROC曲线如下图:

AUC的值就是ROC曲线下方围成区域的面积大小。计算AUC的值只需要沿着ROC横轴做积分即可。

AUC越大,说明分类器越可能把真正的正样本排在前面,分类性能越好。

6.ROC和P-R曲线比较

P-R曲线和ROC曲线都能评价分类器的性能。如果分类器a的PR曲线或ROC曲线包围了分类器b对应的曲线,那么分类器a的性能好于分类器b的性能。

PR曲线和ROC曲线有什么联系和不同:相同点:首先从定义上PR曲线的R值是等于ROC曲线中的TPR值。都是用来评价分类器的性能的。不同点:ROC曲线是单调的而PR曲线不是(根据它能更方便调参),可以用AUC值的大小来评价分类器的好坏(是否可以用PR曲线围成面积大小来评价呢?)。正负样本的分布不平衡时,ROC曲线形状基本保持不变,而PR曲线一般会产生剧烈的变化。

下图(a)和(b)分别是正反例相等的时候的ROC曲线和PR曲线, (c)和(d)分别是十倍反例一倍正例的ROC曲线和PR曲线 。可以看出,在正负失衡的情况下,从ROC曲线看分类器的表现仍然较好(图c),然而从P-R曲线来看,分类器就表现很差。事实情况是分类器确实表现的不好,是ROC曲线欺骗了我们。

附知乎大佬@qian lv对ROC和P-R曲线在不平衡时的分析

7.参考资料

《百面机器学习》诸葛越

《统计学习方法》李航

《机器学习》周志华

PR曲线和F1、ROC曲线和AUC

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-04-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI算法札记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 分类准确率
  • 4. P-R曲线及其绘制
  • 5.ROC曲线及其绘制/AUC及其计算/FPR/TPR
  • 6.ROC和P-R曲线比较
  • 7.参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档