吴恩达deeplearning.ai:倾斜数据集的误差指标精确率、召回率

以下内容有任何不理解可以翻看我之前的博客哦:吴恩达deeplearning.ai专栏

文章目录

  • 倾斜数据集的误差指标
    • 罕见病预测
    • 精确率和召回率
  • 精确率和召回率的权衡
    • 精确率和召回率的矛盾关系
  • F1算法


倾斜数据集的误差指标

在神经网络中,如果你的数据集中正例和负例的比例差距很大,远远不及50比50,那么你的神经网络很可能效果不佳,让我们举个例子。

罕见病预测

假设你的神经网络需要预测一种罕见病,它在正常人群中的发病率约为0.5%,且你的数据集中只有0.5%代表你的预测为负,那么用以前的算法,你就很难估计你算法的性能,例如你有一个算法仅仅会打印1,结果它的准确度为99.5%,另一个算法预测的准确度为98%,这并不能说明下面这个算法的准确性不如上面一个算法。,因此我们需要一个方法,能够减少预测为1的权重,从而增加预测错误的代价。即不同的错误度量
在这里插入图片描述

精确率和召回率

首先,你需要创建一个2*2的混淆矩阵,其中,第一行第一列的格子代表真实为1,且预测也为1的数量;第一行第二列的格子代表真实为0,预测为1的数量;第二行,第一列代表真实为1,预测为0的格子;第二行第二列代表真实与预测都为0的格子。
在这里插入图片描述

精确率定义为:
t r u e p o s t r u e p o s + f a l s e p o s \frac{true\:pos}{true\:pos+false\:pos} truepos+falsepostruepos
这代表在你预测为真的事件中,有多少预测正确。
召回率定义为:
t r u e p o s t r u e p o s + f a l s e n e g \frac{true\:pos}{true\:pos+false\:neg} truepos+falsenegtruepos
这代表在所有真事件中,你预测正确的占多少。
当你的算法在精确度和召回率都能有比较高的表现时,那么说明你的算法是一个好算法。

精确率和召回率的权衡

在理想情况下,我们总是希望算法既能拥有高精确率也能拥有高召回率。高精确率意味着你预测为患病的患者中真的患病的可能性大,高召回率说明你识别错误真的患病的患者的概率小。但事实上,我们经常需要在这两者间进行取舍,我们看看该如何做。

精确率和召回率的矛盾关系

我们在逻辑回归中,逻辑回归输出的值位于 0 < f ( x ) < 1 0<f(x)<1 0<f(x)<1之间,当 f ( x ) f(x) f(x)预测值大于等于0.5是,我们判断为1,小于0.5时,判断为0。
在这里插入图片描述
假设有一种疾病,它的治疗代价很昂贵,但是如果不治疗,也不会产生很严重的后果,那么此时,你可以将预测的临界值从0.5改为0.9,甚至是1。既仅当你非常确定时,才会判断这个人患病。那么此时,算法就具有高精确率,低召回率。
相反,如果这个疾病治疗起来很容易,但是一旦没有被发现,那么后果会很严重,那么抱着宁错杀一千,不放过一个的想法,你可以将临界值从0.5往下调,既低精确率,高召回率。
在这里插入图片描述
当然,你有些时候也希望能全都要,事实上,精确率和召回率满足如下曲线:
在这里插入图片描述
所以在这种需求之下,例如图中的红点,选择一个Precision下降还没有很多的点,同时也能保持高Recall。
当你手动选择阈值的时候就需要这样做。
事实上,有时候你也可以让机器来替你选择一个适中的回归率和精确率,这就要提到一种F1算法,让我们举例来说明。

F1算法

假设你构建了三种算法,它们分别具有:适中的精确率和召回率;高精确率低召回率;低精确率和高召回率,那么你该如何判断三个算法哪个更好呢?一种最先想到的方法是取平均值,但是这其实并不合理,因为这是一种偏向于大值的算法,如果一个算法具有低精确率和高召回率,那么很有可能是数据样本中的该数据过少导致,结果平均值算法还把该算法认为性能很好,这就不合适了。
在这里插入图片描述
而F1算法的公式如下:
F 1 s c o r e = 1 1 2 ( 1 P + 1 R ) F1\;score=\frac{1}{\frac{1}{2}(\frac{1}{P}+\frac{1}{R})} F1score=21(P1+R1)1
这是一种更加强调小值的算法。我们知道,过低的精确率和召回率说明这个算法并不十分有效,而这个算法可以发现这一点:
在这里插入图片描述
在F1公式下,我们可以得到算法一的分数最高,比较合适了

为了给读者你造成不必要的麻烦,博主的所有视频都没开仅粉丝可见,如果想要阅读我的其他博客,可以点个小小的关注哦。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/733021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CSS样式中长度单位含义解析:rpx、px、vw、vh、em、rem、pt

在 CSS 样式中&#xff0c;有几种常见的长度单位&#xff0c;包括 rpx 、 px 、 vw 和 vh 等&#xff0c;含义解析如下&#xff1a; 1 . rpx &#xff08;响应像素&#xff09;&#xff1a; 是微信小程序中的一种相对长度单位&#xff0c;可以根据屏幕宽度进行自适应缩放。 1rp…

PTA 对于下列程序,正确的是() 。void f(int *p){ *p = 5;}int main(void){ int a, *p; a = 10;

对于下列程序&#xff0c;正确的是&#xff08;&#xff09; 。 void f(int *p) {*p 5; } int main(void) {int a, *p;a 10;p &a;f(p);printf(“%d”, (*p));return 0; }A.5 B.6 C.10 D.11 答&#xff1a;A 解析&#xff1a;这里考察当是指针作为函数的参数。这里将 p …

python脚本批量关闭exe文件

python脚本批量关闭exe文件 1、安装psutil库 pip install psutil2、示例代码 """ @contact: 微信 1257309054 @file: main.py @time: 2024/3/9 21:16 @author: LDC """ import os import time import psutildef is_process_running(process_n…

docker删除、停止所有容器或镜像

docker删除、停止所有容器或镜像 列出所有的容器 ID docker ps -aq停止所有容器 docker stop $(docker ps -aq)删除所有容器 docker rm $(docker ps -aq)删除所有镜像 docker rmi $(docker images -aq)

算法之对于算法的想法

小插曲 很早就参加过头条的面试&#xff0c;真的很早以前&#xff0c;头条那时还不是很火&#xff0c;自己的首先也不是头条。就知道对算法特别的重视&#xff0c;现实也的确如此。记得还是面对面的面试&#xff0c; 忘记一面的算法题目了&#xff0c;不过当时是有思路的&…

Codeforces Round 719 (Div. 3)除F2题外补题报告

Codeforces Round 719 Div. 3 除F2题外补题报告 得分情况补题情况错题分析C题题目大意初次思路正解思路正解代码错误原因 D题题目大意初次思路正解思路正解代码错误原因 E题题目大意初次思路正解思路正解代码 F1题题目大意正解思路正解代码 G题题目大意正解思路正解代码 得分情…

EDA 许可证调度

背景 在芯片设计和HPC行业EDA软件的许可证是很昂贵的数据资源&#xff0c;如何高效利用许可证以及计算资源是系统管理员需要认真思考的问题。 商用解决方案 LSF是芯片和HPC行业流行的调度方案&#xff0c;LSF产品家族包含了许可证调度的功能。它提供了许可证管理和调度功能&…

开发知识点-C++之win32与NT内核

win32 Windows MFC编程 常用API汇总EnumWindows()函数UpdateData()函数static与 单例 设计模式函数原型:BOOL WINAPI SetConsoleTitle(__in LPCTSTR lpConsoleTitle);HWND 是一个基本类型 表示窗口句柄FindWindow函数SendMessage函数 将指定的消息发送到一个或多个窗口PostMes…

Matlab|配电网智能软开关(sop)规划模型

目录 1 主要内容 目标函数 2 部分程序 3 程序结果 3.1 sop选址定容优化模型 3.2 对比算例&#xff08;不含sop&#xff09; 4 下载链接 1 主要内容 该程序参考文献《基于改进灵敏度分析的有源配电网智能软开关优化配置》&#xff0c;采用二阶锥算法&#xff0c;以改进的…

蓝桥杯-最大距离

根据题意直接写出来就行。 简单题就话不多说上代码了 #include <iostream> #include <cmath> using namespace std; int main() {int n;cin>>n;int a[1000]{0};for(int i0;i<n;i){cin>>a[i];}int temp 0;int dis 0;for(int i0;i<n-1;i)for(…

JMeter—逻辑控制器

JMeter逻辑控制器 JMeter逻辑控制器可以对元件的执行逻辑进行控制&#xff0c;除仅一次控制器外&#xff0c;其他可以嵌套别的种类的逻辑控制器  一、ForEach控制器 定义一个循环规则&#xff0c;关键参数说明&#xff1a; 输入变量前缀&#xff1a;可以在“用户自定义的变量…

读书笔记:《思考 . 快与慢》- 3 过度自信与决策错误

《思考 . 快与慢》 [美] 丹尼尔 . 卡尼曼 著 胡晓姣 李爱民 何梦莹 译 这本书会改变你的思考方式 叙事谬误&#xff0c;用来描述有缺憾的往事是如何影响我们的世界观和我们对未来的预期的 能够吸引人们眼球的那些说法往往很通俗易懂&#xff0c;具体而不抽象 人类常会…

蓝桥杯刷题(二)

参考大佬代码&#xff1a;&#xff08;区间合并二分&#xff09; import os import sysn, L map(int, input().split()) # 输入n,len arr [list(map(int, input().split())) for _ in range(n)] # 输入Li,Si def check(Ti, arr, L)->bool:sec [] # 存入已打开的阀门在…

Golang中defer与return的执行顺序——不易混淆

前言 defer和return是常用的一个点&#xff0c;面试高频&#xff0c;也是实战容易踩坑。先前对他进行过一次学习&#xff0c;理解起来略拗口&#xff0c;但好歹也算是学会了。昨天面IEG时候被面试官拷打&#xff0c;并给出了一些提示&#xff0c;让我对个知识点有了新的认识&a…

JDK17镜像制作

背景 获取JDK17 wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 解压JDK tar -zxvf jdk-17_linux-x64_bin.tar.gz 制作JRE 由于jdk的体积比较大&#xff0c;可以使用jre来作为运行环境&#xff0c;jdk1.8及以前版本&#xff0c;自带jre&#…

JVM-1

目录 1.基础知识 1.栈 2.本地方法栈 3.程序计数器 4.堆 5.方法区 6.JVM内存可见性 2.虚拟机类加载机制 1.加载 2.验证 3.准备 4.解析 5.初始化 6.使用 7.卸载 1.基础知识 JVM内存模型&#xff08;5种&#xff09;&#xff1a;栈&#xff0c;本地方法栈&#xff…

深入了解XSS攻击:原理、防御与应对策略

&#x1f90d; 前端开发工程师、技术日更博主、已过CET6 &#x1f368; 阿珊和她的猫_CSDN博客专家、23年度博客之星前端领域TOP1 &#x1f560; 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》 &#x1f35a; 蓝桥云课签约作者、上架课程《Vue.js 和 E…

OKLink2月安全月报| 2起典型漏洞攻击案例分析

在本月初我们发布的2024年2月安全月报中提到&#xff0c;2月全网累计造成损失约1.03亿美元。其中钓鱼诈骗事件损失占比11.76%。 OKLink提醒大家&#xff0c;在参与Web3项目时&#xff0c;应当仔细调研项目的真实性、可靠性&#xff0c;提升对钓鱼网站和风险项目的甄别能力&…

2024年人工智能发展路线图

2024年人工智能发展路线图 2024年&#xff0c;人工智能将迎来重大发展。从全新模型、资金注入到技术进步&#xff0c;发展速度之快让人难以跟上。本文概述了2024年可能定义AI发展的关键事件、产品发布、研究突破和趋势。 Q1 2024 Gemini Ultra发布&#xff1a;谷歌预计将发布…

set系列集合

set系列集合 无序&#xff1a;存取顺序不一致 不重复&#xff1a;可以去除重复 无索引&#xff1a;没有带索引的方法&#xff0c;所以不能使用普通的for循环&#xff0c;也不能通过索引来获取元素 set集合的实现类 HashSet:无序、不重复、无索引 LinkedHashSet:有序、不重…