精确率

精确率指标尝试回答以下问题:

在被识别为正类别的样本中,确实为正类别的比例是多少?

精确率的定义如下:

Precision = \dfrac{TP}{TP + FP}

注意:如果模型的预测结果中没有假正例,则模型的精确率为 1.0 。

让我们来计算一下上一部分中用于分析肿瘤的机器学习模型的精确率:

精确率 = \dfrac{TP}{TP + FP} = \dfrac{1}{1 + 1} = 0.5

该模型的精确率为 0.5,也就是说,该模型在预测恶性肿瘤方面的正确率是 50%。

召回率

召回率尝试回答以下问题:

在所有正类别样本中,被正确识别为正类别的比例是多少?

从数学角度讲,召回率的定义如下:

召回率 = \dfrac{TP}{TP + FN}

注意:如果模型的预测结果中没有假负例,则模型的召回率为 1.0

让我们来计算一下肿瘤分类器的召回率:

召回率 = \dfrac{TP}{TP + FN} = \dfrac{1}{1 + 8} = 0.11

该模型的召回率是 0.11,也就是说,该模型能够正确识别出所有恶性肿瘤的百分比是 11%

精确率和召回率:一场拔河比赛

要全面评估模型的有效性,必须同时检查精确率和召回率。遗憾的是,精确率和召回率往往是此消彼长的情况。也就是说,提高精确率通常会降低召回率值,反之亦然。

请观察下图来了解这一概念,该图显示了电子邮件分类模型做出的 30 项预测。分类阈值右侧的被归类为“垃圾邮件”,左侧的则被归类为“非垃圾邮件”。

图 1.将电子邮件归类为垃圾邮件或非垃圾邮件

我们根据图 1 所示的结果来计算精确率和召回率值:

精确率指的是被标记为垃圾邮件的电子邮件中正确分类的电子邮件所占的百分比,即图 1 中阈值线右侧的绿点所占的百分比:

Precision = \dfrac{TP}{TP + FP} = \dfrac{8}{8 + 2} = 0.8

召回率指的是实际垃圾邮件中正确分类的电子邮件所占的百分比,即图 1 中阈值线右侧的绿点所占的百分比:

Recall = \dfrac{TP}{TP + FN} = \dfrac{8}{8 +3} = 0.73

图 2 显示提高分类阈值产生的效果

图 2.提高分类阈值

假正例数量会减少,但假负例数量会相应地增加。结果,精确率有所提高,而召回率则有所降低:

Precision = \dfrac{TP}{TP + FP} = \dfrac{7}{7 + 1} = 0.88

Recall = \dfrac{TP}{TP + FN}=\dfrac{7}{7 + 4} = 0.64

相反,图 3 显示了降低分类阈值(从图 1 中的初始位置开始)产生的效果。

图 3.降低分类阈值。

假正例数量会增加,而假负例数量会减少。结果这一次,精确率有所下降,而召回率有所提高:

Precision = \dfrac{TP}{TP + FP} = \dfrac{9}{9 + 3} = 0.75

Recall = \dfrac{TP}{TP + FN} = \dfrac{9}{9 + 2} = 0.82

我们已经根据精确率和召回率指标制定了各种指标。

本作品采用《CC 协议》,转载必须注明作者和本文链接

Hacking

python计算召回率_机器学习之分类:精确率和召回率相关推荐

  1. python决策树怎么选择_机器学习|决策树分类与python实现

    目录: 1.决策树简介 2.决策树生成 a) 选择标准--熵 b) 信息增益--ID3算法 c) 信息增益率--C4.5算法 d) Gini系数--CART算法 e) 评价标准--评价函数 3.剪枝操 ...

  2. 准确率 召回率_机器学习tips(四):精确率(precision)和召回率(recall)

    精确率(precision)和召回率(recall) 混淆矩阵 True Positive(真正, TP):将正类预测为正类数. True Negative(真负 , TN):将负类预测为负类数. F ...

  3. 多分类f1分数_机器学习之分类模型评估总结

    一.概述 在机器学习模型搭建好之后,需要对模型进行评估,针对不同的算法模型有不同的评估方法,比如:分类算法.回归算法.聚类算法等,本文主要是针对分类算法的模型评估方法进行总结整理,便于自己对评估方法的 ...

  4. python计算现场得分_浅谈用 Python 计算文本 BLEU 分数

    浅谈用 Python 计算文本 BLEU 分数 BLEU, 全称为 Bilingual Evaluation Understudy(双语评估替换), 是一个比较候选文本翻译与其他一个或多个参考翻译的评 ...

  5. python计算圆柱体积_如何用PYTHON计算体积公式

    用PYTHON计算体积公式 工具/原料 PYTHON 方法/步骤 1 打开PYTHON,新建一个空白的PY文档. 2 import math dir() 首先我们要引入模块,然后查看目录是否已经引入成 ...

  6. python计算连续复利_复利的Python程序

    python计算连续复利 Given principle amount, rate and time and we have to find the compound interest in Pyth ...

  7. Python计算开方、立方、圆周率,精确到小数点后任意位

    Python计算的位数 在电脑上做了一个实验,看看python能计算到多少位,一下是结果. x = math.sqrt((3)) print ("%.53f"%(x)) print ...

  8. 用python计算准确率_机器学习之分类:准确率

    准确率是一个用于评估分类模型的指标.通俗来说,准确率是指我们的模型预测准确的结果所占的比例.正式点说,准确率的定义如下: Accuracy = \dfrac{Number of correct pre ...

  9. 准确率 召回率_机器学习中F值(F-Measure)、准确率(Precision)、召回率(Recall)

    在机器学习.数据挖掘.推荐系统完成建模之后,需要对模型的效果做评价. 业内目前常常采用的评价指标有准确率(Precision).召回率(Recall).F值(F-Measure)等,下图是不同机器学习 ...

最新文章

  1. python-Django收集主机信息
  2. 未来我们对微服务和 Serverless 架构有什么期望
  3. 一步一步实现自己的模拟控件(6)——控件树及控件区域
  4. 文件下载--服务器端编程操作
  5. PAT (Advanced Level) 1017. Queueing at Bank (25)
  6. AGC002F - Leftmost Ball(dp,组合计数)
  7. 计算机程序编辑的英语,编译程序是为把高级语言书写的计算机程序翻译成面向计算机的目标程序而使用的计算机程序...
  8. Android强大log框架Logger使用详解
  9. html中字体 楷体_HTML字体集锦-
  10. cad添加自己线性_如何在CAD中添加自行创建的线型.doc
  11. linux格式化分区error,linux格式化磁盘出错
  12. 三、pgAdmin 4 布局设置
  13. windows7计算机不显示u盘,Win7系统U盘文件不显示的三种解决方法
  14. oracle检查表失效,PL/SQL联系oracle成功可以sql解决的办法是检查表的名称无法显示...
  15. 阿里云 ECS 服务等级协议 SLA是什么?
  16. 计算机毕业设计Java大学生第二课堂(源码+系统+mysql数据库+lw文档)
  17. conventional-changelog 参数含义
  18. 春季养生知识多 吃萝卜可预防上火
  19. java 定义一个学生类,利用无参和带参方法调用
  20. 【国家局发布】医疗器械注册流程及相关法规大全

热门文章

  1. python之旅六【第六篇】模块
  2. 消除if…else的锦囊妙计
  3. Elasticsearch入门教程(五):Elasticsearch查询(一)
  4. FPGA 24 工程模块 红外遥控(NEC协议)解码
  5. SYN480R模块解码EV1527教程
  6. #ACW 4084 号码牌(无向图连通性+简单拓扑序)
  7. homebrew Error: qt: unknown version :mountain_lion
  8. 爆炸的符卡洋洋洒洒(01背包变形)
  9. 假如你是QQ的产品经理
  10. 0基础跟班学习前端的第三天(因为上完一次课需要上一天自习啦~)内容整理归纳还有附带的小练习~希望大家多动手练习(二)