[吴恩达机器学习笔记]11机器学习系统设计3-4/查全率/查准率/F1分数
11. 机器学习系统的设计
觉得有用的话,欢迎一起讨论相互学习~Follow Me
参考资料 斯坦福大学 2014 机器学习教程中文笔记 by 黄海广
11.3 偏斜类的误差度量 Error Metrics for Skewed Classes
偏斜类 Skewed Classes
类偏斜情况表现为训练集中有非常多的同一种类的实例,只有很少或没有其他类的实例
示例
例如我们希望用算法来预测癌症是否是恶性的,在我们的训练集中,只有0.5%的实例是恶性肿瘤。假设我们编写一个非学习而来的算法,在所有情况下都预测肿瘤是良性的,那么误差只有 0.5%。然而我们通过训练而得到的神经网络算法却有 1%的误差。这时,误差的大小是不能视为评判算法效果的依据的
查准率(准确率 Precision)和查全率(召回率 Recall)
- 正确肯定(True Positive,TP):预测为真,实际为真
- 正确否定(True Negative,TN):预测为假,实际为假
- 错误肯定(False Positive,FP):预测为真,实际为假
- 错误否定(False Negative,FN):预测为假,实际为真
- 查准率=TP/(TP+FP)例,在所有我们预测有恶性肿瘤的病人中,实际上有恶性肿瘤的病人的百分比,越高越好。
- 查全率=TP/(TP+FN)例,在所有实际上有恶性肿瘤的病人中,成功预测有恶性肿瘤的病人的百分比,越高越好。
- 这样,对于总是预测病人肿瘤为良性的算法,其查全率是 0
11.4 查准率和查全率之间的权衡 Trading Off Precision and Recall
- 首先回顾 查准率(Precision) 和 查全率(Recall) 的定义,其中 \[Precision=\frac{true\ positives}{num\ of\ predicted\ positive}\] \[Recall=\frac{true\ positives}{num\ of\ actual\ positive}\]
- 查准率(Precision)=TP/(TP+FP) 例,在所有预测有恶性肿瘤的病人中,实际上有恶性肿瘤的病人的百分比,越高越好。
- 查全率(Recall)=TP/(TP+FN)例,在所有实际上有恶性肿瘤的病人中,成功预测有恶性肿瘤的病人的百分比,越高越好
继续沿用刚才预测肿瘤性质的例子。一般情况下算法输出的结果在 0-1 之间,表示患者得肿瘤的概率,并且使用阀值 0.5 来预测真和假。

- 如果 希望只在非常确信的情况下预测为真(肿瘤为恶性) ,即希望 更高的查准率 ,可以使用比0.5更大的阀值,如0.7,0.9。这样做可以减少错误预测病人为恶性肿瘤的情况,但同时会增加未能成功预测肿瘤为恶性的情况。
- 如果 希望提高查全率 ,尽可能地让所有有可能是恶性肿瘤的病人都得到进一步地检查、诊断,可以使用比 0.5 更小的阀值 如 0.3。
对于同一个机器学习系统不同的阈值往往对应 不同的查准率和查全率 ,那如何选择阈值才能平衡查准率和查全率,使其都有较好的结果呢?

F1值
使用F1值: \[F1\ Score=2 * \frac{P * R}{P+R}\] 其中P表示 查准率 ,R 表示 查全率 。 选择F1值最高的阈值。
[吴恩达机器学习笔记]11机器学习系统设计3-4/查全率/查准率/F1分数的更多相关文章
- Coursera课程《Machine Learning》吴恩达课堂笔记
强烈安利吴恩达老师的<Machine Learning>课程,讲得非常好懂,基本上算是无基础就可以学习的课程. 课程地址 强烈建议在线学习,而不是把视频下载下来看.视频中间可能会有一些问题 ...
- 【Deeplearning.ai 】吴恩达深度学习笔记及课后作业目录
吴恩达深度学习课程的课堂笔记以及课后作业 代码下载:https://github.com/douzujun/Deep-Learning-Coursera 吴恩达推荐笔记:https://mp.weix ...
- 笔记:《机器学习训练秘籍》——吴恩达deeplearningai微信公众号推送文章
说明 该文为笔者在微信公众号:吴恩达deeplearningai 所推送<机器学习训练秘籍>系列文章的学习笔记,公众号二维码如下,1到15课课程链接点这里 该系列文章主要是吴恩达先生在机器 ...
- 吴恩达《机器学习》课程笔记——第六章:Matlab/Octave教程
上一篇 ※※※※※※※※ [回到目录] ※※※※※※※※ 下一篇 这一章的内容比较简单,主要是MATLAB的一些基础教程,如果之前没有学过matlab建议直接找一本相关书籍,边做边学,matl ...
- 吴恩达(Andrew Ng)——机器学习笔记1
之前经学长推荐,开始在B站上看Andrew Ng的机器学习课程.其实已经看了1/3了吧,今天把学习笔记补上吧. 吴恩达老师的Machine learning课程共有113节(B站上的版本https:/ ...
- ML:吴恩达 机器学习 课程笔记(Week1~2)
吴恩达(Andrew Ng)机器学习课程:课程主页 由于博客编辑器有些不顺手,所有的课程笔记将全部以手写照片形式上传.有机会将在之后上传课程中各个ML算法实现的Octave版本. Linear Reg ...
- Coursera 吴恩达 机器学习 学习笔记
Week 1 机器学习笔记(一)基本概念与单变量线性回归 Week 2 机器学习笔记(二)多元线性回归 机器学习作业(一)线性回归——Matlab实现 机器学习作业(一)线性回归——Python( ...
- 第19月第8天 斯坦福大学公开课机器学习 (吴恩达 Andrew Ng)
1.斯坦福大学公开课机器学习 (吴恩达 Andrew Ng) http://open.163.com/special/opencourse/machinelearning.html 笔记 http:/ ...
- 我在 B 站学机器学习(Machine Learning)- 吴恩达(Andrew Ng)【中英双语】
我在 B 站学机器学习(Machine Learning)- 吴恩达(Andrew Ng)[中英双语] 视频地址:https://www.bilibili.com/video/av9912938/ t ...
随机推荐
- ASP.NET Web API - 使用 Castle Windsor 依赖注入
示例代码 项目启动时,创建依赖注入容器 定义一静态容器 IWindsorContainer private static IWindsorContainer _container; 在 Applica ...
- lambda(匿名函数)---基于python
在学习python的过程中,lambda的语法时常会使人感到困惑,lambda是什么,为什么要使用lambda,是不是必须使用lambda? 下面就上面的问题进行一下解答. 1.lambda是什么? ...
- C++ 名字空间namespace的使用
A namespace is a scope.C++ provides namespaces to prevent name conflicts.A namespace is a mechanism ...
- C#高级编程 (第六版) 学习 第四章:继承
第四章 继承 1,继承的类型 实现继承: 一个类派生于一个基类型,拥有该基类型所有成员字段和函数. 接口继承 一个类型只继承了函数的签名,没有继承任何实现代码. 2,实现继承 class MyDe ...
- Solr初步研究
Solr是一个高性能,采用Java5开发,Solr基于Lucene的全文搜索服务器.同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置.可扩展并对查询性能进行了优化,并且提供 ...
- [mysqld_safe]centos7 mysql 安装与配置
查资料发现是CentOS 7 版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了. 有两种解决办法: 安装mariadb [root@a ~]# yum install mar ...
- 安装php先行库
libmcrypt libconv mhash ./configure --prefix=/usr/local mcrypt 安装完成后在当前目录还要 /sbin/ldconfig ./config ...
- 第101天:CSS3中transform-style和perspective
一.transform-style 1.transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现. 有两个属性值:flat和preserve-3d. transfor ...
- selenium学习网址
1.http://www.testclass.net/selenium_java/# testclass网址 2.http://www.yiibai.com/selenium/seleniu ...
- jsp - redirect重定向 / forward转发
redirect:请求重定向: 客户端行为,本质上为2次请求,地址栏改变,前一次请求对象不保存, 所以请求携带的数据会丢失. 举例:你去银行办事(forward.jsp),结果告诉你少带了东西,你得先 ...