目录

  • 1. 二分类问题
    • 1.1 概念
      • TP FP FN TN
      • 准确率 Precision
      • 召回率 Recall
      • F值 F-score or F-measures
    • 1.2 计算方法
  • 2. 多分类问题
    • 2.1 介绍
      • Micro-average 微平均
      • Macro-average 宏平均
      • Weighted-average 加权平均
    • 2.2 计算公式
    • 2.3 对比
      • Micro vs Macro
    • 2.4 计算方法

1. 二分类问题

1.1 概念

TP FP FN TN

预测类别-正 预测类别-负
真实类别-正 真正例(True Positive,TP) 假负例(False Negative,FN)
真实类别-负 假正例(False Positive,FP) 真负例(True Negative,TN)

准确率 Precision

准确率,衡量分类器找对正例的能力:
Precision=TPTP+FPPrecision=\frac{TP}{TP+FP} Precision=TP+FPTP​

召回率 Recall

召回率,衡量分类器找全正例的能力:
Recall=TPTP+FNRecall=\frac{TP}{TP+FN} Recall=TP+FNTP​

F值 F-score or F-measures

F值,权衡准确率和召回率两个指标:
Fβ=(1+β2)×Precision×Recallβ2×Precision+RecallF_{\beta}=\frac{(1+\beta^2)\times Precision\times Recall}{\beta^2 \times Precision+Recall} Fβ​=β2×Precision+Recall(1+β2)×Precision×Recall​
β\betaβ 的选择:
当 β&lt;1\beta &lt;1β<1 时,准确率更重要,当 β&gt;1\beta &gt; 1β>1 时,召回率更重要。
当 β=1\beta =1β=1 时,准确率和召回率同样重要,也是最常用的F1-score:
F1=2×Precision×RecallPrecision+RecallF_{1}=\frac{2\times Precision\times Recall}{Precision+Recall} F1​=Precision+Recall2×Precision×Recall​
应用中不同侧重的例子:

  • 侧重准确率:搜索
  • 侧重召回率:疾病监测、垃圾邮件检测

经手过的案例:

  • 侧重召回率:mesh的噪声面片检测,检测出噪声面片后用传统方法平滑。检测噪声面片时误识别一些边缘的非噪声面片反而有利于后续的拉普拉斯平滑。

.

1.2 计算方法


Tips:
precision_score, recall_score, f1_score, fbeta_score 这4个函数内部都调用了precision_recall_fscore_support函数进行结果计算。
.

2. 多分类问题

2.1 介绍

Micro-average 微平均

不区分Class,只以预测Label和真实Label是否一致来计算准确率、召回率、F值。

Macro-average 宏平均

分别统计每个Class的准确率、召回率、F值,然后按Class取平均值。

Weighted-average 加权平均

分别统计每个Class的准确率、召回率、F值,然后按每个Class的样本数取加权平均值。
.

2.2 计算公式

LLL 标签集合
SSS 样本集合
yyy 样本的预测标签集合
y^\widehat{y}y​ 样本的真实标签集合
P(A,B):=∣A∩B∣∣A∣P(A,B) :=\frac{\vert A\cap B\vert}{\vert A\vert}P(A,B):=∣A∣∣A∩B∣​
R(A,B):=∣A∩B∣∣B∣R(A,B):=\frac{\vert A\cap B\vert}{\vert B\vert}R(A,B):=∣B∣∣A∩B∣​
Fβ(A,B):=(1+β2)×P(A,B)×R(A,B)β2×P(A,B)+R(A,B)F_\beta(A,B):=\frac{(1+\beta^2 ) \times P(A,B)\times R(A,B)}{\beta^2\times P(A,B)+R(A,B)}Fβ​(A,B):=β2×P(A,B)+R(A,B)(1+β2)×P(A,B)×R(A,B)​

Average Precision Recall F_beta
None ⟨P(y,y^)∣l∈L⟩\langle P(y, \widehat{y}) \vert l \in L\rangle⟨P(y,y​)∣l∈L⟩ ⟨R(y,y^)∣l∈L⟩\langle R(y, \widehat{y}) \vert l \in L\rangle⟨R(y,y​)∣l∈L⟩ ⟨Fβ(y,y^)∣l∈L⟩\langle F_\beta(y, \widehat{y}) \vert l \in L\rangle⟨Fβ​(y,y​)∣l∈L⟩
Micro P(y,y^)P(y, \widehat{y})P(y,y​) R(y,y^)R(y, \widehat{y})R(y,y​) Fβ(y,y^)F_\beta(y, \widehat{y})Fβ​(y,y​)
Macro 1∣L∣∑l∈LP(yl,y^l)\frac{1}{\vert L\vert} \sum_{l \in L}P(y_l, \widehat{y}_ l )∣L∣1​∑l∈L​P(yl​,y​l​) 1∣L∣∑l∈LR(yl,y^l)\frac{1}{\vert L\vert} \sum_{l \in L}R(y_l, \widehat{y}_ l )∣L∣1​∑l∈L​R(yl​,y​l​) 1∣L∣∑l∈LFβ(yl,y^l)\frac{1}{\vert L\vert} \sum_{l \in L}F_\beta(y_l, \widehat{y}_ l )∣L∣1​∑l∈L​Fβ​(yl​,y​l​)
Weighted 1∑l∈L∣y^l∣∑l∈L∣y^l∣P(yl,y^l)\frac{1}{ \sum_{l \in L}\vert \widehat{y}_ l\vert} \sum_{l \in L}\vert \widehat{y}_ l\vert P(y_l, \widehat{y}_ l )∑l∈L​∣y​l​∣1​∑l∈L​∣y​l​∣P(yl​,y​l​) 1∑l∈L∣y^l∣∑l∈L∣y^l∣R(yl,y^l)\frac{1}{ \sum_{l \in L}\vert \widehat{y}_ l\vert} \sum_{l \in L}\vert \widehat{y}_ l\vert R(y_l, \widehat{y}_ l )∑l∈L​∣y​l​∣1​∑l∈L​∣y​l​∣R(yl​,y​l​) 1∑l∈L∣y^l∣∑l∈L∣y^l∣Fβ(yl,y^l)\frac{1}{ \sum_{l \in L}\vert \widehat{y}_ l\vert} \sum_{l \in L}\vert \widehat{y}_ l\vert F_\beta(y_l, \widehat{y}_ l )∑l∈L​∣y​l​∣1​∑l∈L​∣y​l​∣Fβ​(yl​,y​l​)

来源:scikit-learn 文档

.

2.3 对比

Micro vs Macro

  • 当数据集每个Class的样本量差不多时,Micro和Macro指标不会有太大差别。
  • 当数据集每个Class的样本量悬殊时(非均衡数据集):
    Micro更侧重表现样本量多的Class,Macro更侧重表现样本量较少的Class。
  • Micro和Macro指标出现较大差异:
    当Micro平均大大低于Macro平均时,检查样本量多的Class;
    当Macro平均大大低于Micro平均时,检查样本量少的Class。

.

2.4 计算方法

【笔记】分类问题的模型评估(Precision, recall, F-measures)相关推荐

  1. 机器学习笔记(二)模型评估

    模型评估 模型评估指标 为什么需要不同的评估指标 较为全面的衡量二分类模型的ROC曲线 AUC P-R曲线和ROC曲线的相比较的特性 余弦距离 抽样检验方法 超参数调优 过拟合与欠拟合 降低过拟合欠拟 ...

  2. 多分类模型Accuracy, Precision, Recall和F1-score的超级无敌深入探讨

    https://zhuanlan.zhihu.com/p/147663370?from_voters_page=true 众所周知,机器学习分类模型常用评价指标有Accuracy, Precision ...

  3. 机器学习中的不平衡分类方法(part2)--模型评估与选择

    学习笔记,仅供参考,有错必纠 参考自:<机器学习中的不平衡分类方法>-- 康琦,吴启迪 文章目录 模型评估与选择 训练误差与测试误差 过拟合与欠拟合 模型选择 评估方法 模型评估与选择 训 ...

  4. 西瓜书~至臻笔记(二)——模型评估与选择(可直接享用)

    文章目录 第二章 模型评估与选择 2.1 经验误差与过拟合 2.2 评估方法 2.2.1 留出法 分层采样 数据集中样本的顺序 数据集的大小比例 2.2.2 交叉验证法 数据集的样本顺序 留一法 2. ...

  5. 分类问题的模型评估指标总结

    在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四中不同的组合,构成混淆矩阵(可适用于多分类),通常有这几种主要模型评估指标:精确率( ...

  6. 多类别分类任务(multi-class)中为何precision,recall和F1相等?

    文章目录 背景: precision, recall和F1 score的定义 micro averaging的计算及其示例 macro averaging 和 weighted averaging m ...

  7. Lesson 5.分类模型决策边界与模型评估指标

    Lesson 5.分类模型决策边界与模型评估指标(上) 在逻辑回归的算法基础内容结束之后,我们还需要补充一些关于分类模型的基础知识,包括观察分类模型判别性能的决策边界基本的概念与实现方法,同时也包括对 ...

  8. 你真的了解分类模型评估指标都有哪些吗?【附Python代码实现】

    大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我或者我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 必看前言 ...

  9. 模型评估:评估矩阵和打分

    文章目录 目标优先 二分类问题的评价指标 第一类错误和第二类错误 非均匀数据集 混淆矩阵.正确率.精确率.召回率和f-score 不知道标签均匀性的情况 精度-召回曲线和ROC曲线 精度-召回曲线( ...

  10. Accuracy, Precision, Recall和F1-score解释

    本文解释分类问题常用评价指标Accuracy, Precision, Recall和F1-score 主要参考以下文章 多分类模型Accuracy, Precision, Recall和F1-scor ...

最新文章

  1. 深度学习:梯度下降算法改进
  2. 封装时间转换工具类_推荐一款封装各种Util工具类,这款神仙级框架你值得拥有!...
  3. linux shell let命令,shell编程中的let与(())
  4. Nginx 教程:基本概念
  5. apache设置网页gzip压缩(亲测可用)
  6. switch 根据键盘录入成绩 显示分数及判断等级(第二次)
  7. CF1088F. Ehab and a weird weight formula(倍增)
  8. java解码p7b证书文件,通过OpenSSL解码X509证书文件
  9. Newtonsoft.Json 获取匿名类数据
  10. Redis如何高效实现点赞、取消点赞功能
  11. mysql加密复制_MySQL主从复制使用SSL加密
  12. 查询集 QuerySet
  13. python画曲线图-python画曲线
  14. java 动态生成SQL
  15. 层次分析法模型(数学建模学习)
  16. [GUET-CTF2019]re-[SUCTF2019]SignIn-相册-[ACTF新生赛2020]usualCrypt
  17. 冒险岛2最新出的服务器,冒险岛2 9月21日零点服务器维护公告一览 几点开服
  18. gRPC-拦截器简单使用
  19. 医疗项目(HIS)业务简单介绍
  20. 常微分方程数值解matlab欧拉,MATLAB题,用到欧拉公式求微分方程的数值解

热门文章

  1. C语言中结构体所占内存空间
  2. 超全面Figma,Pixso和Sketch工具盘点
  3. win10共享文件夹的创建、访问凭据一直提示“用户名或密码错误”的解决办法
  4. 最近频繁用到正则表达式,恶补一下,高手略过(零宽断言)
  5. php layim 图片正则替换,用正则表达式批量替换图片路径方法
  6. 【转】资深眼镜人告诉你一些所不为人知的眼镜知识和内幕
  7. 理解Liang-Barsky裁剪算法的算法原理
  8. mbr转gpt 无损 linux,无损 MBR转换为GPT加快启动
  9. 苹果测试软件testflight游戏,教程:如何使用TestFlight 参与App 测试
  10. 软件测试中的版本控制