使用Excel分析数据学习笔记之 二分类与混淆矩阵
使用Excel分析数据学习笔记之 二分类与混淆矩阵
- 混淆矩阵的构成:
- e.g.1:Bombers and seagulls
- 案例背景
- 混淆矩阵
- 如何根据混淆矩阵得到ROC曲线?
- 如何设定最佳阈值(optimal threshold)?
- e.g.2:癌症诊断
- 案例背景
- 分析混淆矩阵:
- Condition:
- Classification:
- 从条件概率的角度分析:
- TP%、FP%代表着什么?
- 这跟我们所需要的恰恰相反:
- 计算阳性预测值、阴性预测值
- 计算ROC曲线下面积:
- 多个变量输入下的二分类(Binary Classification with more than one input)
- 案例背景
- 基于身高进行分类排序(classification),并设阈值为70
- 为了得到更好的结果,我们可以把这些不同单位的变量结合起来:
最近在Coursera上从Excel到MySQL商业分析专项课程,为了督促自己学习,把笔记发布在这里。这仅仅是我基于课程的一些浅薄理解,如有错误欢迎指证!
混淆矩阵的构成:
- Condition 实际情况 (图中a、b)
- +: 实际情况为正的概率,condition incidence
- -:实际情况为负的概率
- 边际概率,概率和为1
- Classification 预判 (图中c、d)
- classification method used to classify an item as positive or negative
- 在信息不完全的情况下做出预先判断,存在错误
- probability of positive classification也叫classification incidence to test incidence.
- negative: probability of negative classification
- 边际概率,概率和为1
- 联合概率 (图中e、f、g、h)
- 判断方法:
预判(Positive/Negative)为第二个字母
第一个字母T/F: 你的预判与实际情况是否一致?一致则为True,不一致为False
e: True Positive (TP), 预判为positive, 实际情况为+,两者相符为true
f:False Negative(FN)
g: False Positive(FP)
h: True Negative(TN)
- 同样的,这四个联合概率的概率和为1
⚠️+ = TP+FN;- = FP+TN
e.g.1:Bombers and seagulls
案例背景
上世纪四十年代雷达的发明问世之初,技术还不是很成熟,只能得到模糊的图像反馈。而在英国与德国的闪电战中,德国轰炸机使英国人伤亡惨重。英军收到的模糊雷达图像可能是德军轰炸机,也可能是一群海鸥。如何根据模糊的图像反馈判断是否迎战?这个问题可以很好的被混淆矩阵和ROC曲线解决。
混淆矩阵
- Condition
- +: 轰炸机
- -: 海鸥
- Classification
- positive: 派出战机,正面迎战
- negative:原地不动
如何根据混淆矩阵得到ROC曲线?
基于雷达图像上的最大阴影面积赋值
追踪此次图像的最终实际结果
将得分降序排列
设定不同的阈值(threshold)可以得到不同的预判结果总数(positive/negatice classification),从而不同的False Positive Rate(FPR),True Positive Rate(TPR)
** 红色得分为轰炸机(3个),黑色得分为海鸥(17个)
** TPR= TP事件总数/+事件总数;FPR=FP事件总数/-事件总数设阈值为80:
- 即得分>=80判定为positive classification, <80判定为negative classification
- 得到混淆矩阵:
- FPR = 4/17, TPR = 2/3
设阈值为70:
- 即得分>=70判定为positive classification, <80判定为negative classification
- 得到混淆矩阵:
- FPR = 7/17, TPR = 3/3 = 1
5.特定阈值下的(FPR,TPR)为ROC图像上一点, 不断改变阈值得到整个ROC图像
如何设定最佳阈值(optimal threshold)?
intuition: 这个例子中FN(德军派出轰炸机轰炸而英方未做出任何抵抗)的相对成本远远要比FP(派出战机迎战却发现只是一群海鸥)来得大,因此我们尽可能的要缩小FN的数值,即设定较低的阈值。
总成本 = FN事件总数xFN成本+FP事件总数xFN成本,而不同的阈值得到的FN、FP事件总数不同。最低总成本下的阈值为最佳阈值。
⚠️:当FN,FP的成本改变时,总成本改变,最佳阈值也会随之改变。
因此可得到结论: minimum cost threshold is determined by “cost function ratio”((cost per FN)/(cost per FP) )
e.g.2:癌症诊断
案例背景
假设一种蛋白质血液测试鉴别一种罕见的癌症。这种癌症在人口中的发病率为1%。已知TPR=95%,FPR=80%,这个测试准确吗?
分析混淆矩阵:
Condition:
- +:得癌症,p(+)=1%
- -: 未得癌症,p(-)=99%
Classification:
- positive:测试呈阳性
- negative:测试呈阴性
从条件概率的角度分析:
TP%、FP%代表着什么?
- True positive = 测试呈阳性,且得了癌症,测试准确 = P(positive^+)
- TPR = P(positive^+)/P(+) = P(positive/+), i.e., 已知我得病,测试呈阳性的概率。
- 同样的,TNR = 已知我未得病,测试呈阴性的概率。
这跟我们所需要的恰恰相反:
- 我们想知道的是:“若测试呈阳性,我得了癌症的概率有多大?”和 “若测试呈阴性,我未得癌症的概率有多大?”, 即P(+/positive), P(-/negative)。
- 因为这两个概念常常出现,他们被赐予了特殊的名字:阳性预测值、和阴性预测值。
计算阳性预测值、阴性预测值
P(+/positive) = P(+^positive) / P(positive) = 0.0095/0.2075 = 4.58%
P(-/negative) = P(-^negative) / P(negative) = 0.792/0.7925 = 99.37%
就算测试呈阳性,得癌症的概率也仅为4.58%。
计算ROC曲线下面积:
这部分内容有大佬写的很详细,偷个懒鸭
⚠️:每两个点之间只有横坐标或纵坐标移动,因为每一次下移阈值时,阈值以上为positive,要么对要么错,是将false negative重新分类为true positive或将true negative重新分类为false positive。
————————————————
版权声明:本文为CSDN博主「qiaoxyxj」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qiaoxyxj/article/details/78439633
另一个大佬对AUC曲线的解释:
https://blog.csdn.net/pzy20062141/article/details/48711355?depth_1-utm_source=distribute.pc_relevant_right.none-task&utm_source=distribute.pc_relevant_right.none-task
多个变量输入下的二分类(Binary Classification with more than one input)
“What we have in business problems is a whole bunch of inputs, and we want to combine them so as to create the best possible model to predict our binary outcome, how to combine them.”
案例背景
12名士兵被要求在1小时内携带100磅的背包走4英里。我们有每个士兵的身高、体重和年龄信息
辣么我们得到的初始信息是这样的:
(Condition: 1 = 完成任务,0 = 未完成任务)
基于身高进行分类排序(classification),并设阈值为70
得到这样的混淆矩阵:
TPR = 1/2, FPR = 1/6
同理,基于体重、年龄分类也是一样的。
为了得到更好的结果,我们可以把这些不同单位的变量结合起来:
- standardise, so that you can figure out how much relative weight you should assign to each one
⚠️ By standardizing the data, we can find a way to treat each of the two input variables as equally important. - sum the standardised terms together
若设阈值为-1.28:
使用Excel分析数据学习笔记之 二分类与混淆矩阵相关推荐
- 大数据学习笔记(二)-分级类聚列类聚
下面用到的数据及代码:click here 1.获取数据: 来自100个博客里面的所有文章单词数目,这儿用的rss订阅源对文章数据进行获取,rss获取出来是xml文件格式,所以可以下载一个feedpa ...
- 大数据学习笔记(二)hadoop
一.Hadoop生态 二.Hadoop环境的搭建 1. 准备工作 A-新建一台虚拟机 (刚刚安装的全新系统)dt100 B.关闭防火墙 systemctl stop firewalld #关闭防 ...
- glibc-2.23学习笔记(二)—— free部分源码分析
glibc-2.23学习笔记(二)-- free部分源码分析 _libc_free _int_free 函数定义 局部变量 start fast bins部分 unsorted bins部分 mmap ...
- setup.s 分析—— Linux-0.11 学习笔记(二)
更新记录 版本 时间 修订内容 1.0 2018-4-14 增加了"获取显示模式"这一节,AL取值的表格 标题: setup.s 分析-- Linux-0.11 学习笔记(二) 老 ...
- VSTO学习笔记(二)Excel对象模型
原文:VSTO学习笔记(二)Excel对象模型 上一次主要学习了VSTO的发展历史及其历代版本的新特性,概述了VSTO对开发人员的帮助和效率提升.从这次开始,将从VSTO 4.0开始,逐一探讨VSTO ...
- 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析
系列文章目录 多层高速PCB设计学习(一)初探基本知识(附单层设计补充) 多层高速PCB设计学习笔记(二)基本设计原则及EMC分析 多层高速PCB设计学习笔记(三) GND的种类及PCB中GND布线实 ...
- python segy格式地震数据读写包segyio学习笔记(二)
python segy格式地震数据读写包segyio学习笔记(二) 最近大致搞明白了segyio读取叠后和叠前segy数据的方法,以及内部存储结构,以两段代码为例: 叠后数据读取.这是一个从给定时窗内 ...
- mysql循环查询一个表中的数据并进行修改_JavaScript学习笔记(二十四)-- MYSQL基础操作...
MYSQL mysql 是一个数据库的名字 和 php 合作的比较好的数据库 之前我们说过一个问题,前端向后端索要数据,后端就是去数据库中查询数据,返回给前端 接下来就聊聊使用 php 操作数据库 M ...
- nrf52832 学习笔记(二)SDK框架分析
nrf52832 学习笔记(二)SDK框架分析 个人对SDK框架的一些理解,如有错误欢迎斧正. flash 分区 在不包含DFU的情况下,nrf52832 flash划分为: MBR 0x000000 ...
最新文章
- 点击按钮取GridView当前被操作行的数据
- 纯CSS实现圆角矩形框
- ERROR Worker: All masters are unresponsive! Giving up
- 切莫开一块地荒一块地
- python闭包与装饰器有啥关系_深入理解Python中的闭包与装饰器
- 【大数据】分布式集群部署
- 炁体源流 鸿蒙,一人之下:八绝技中最强被曝光,没想到炁体源流落榜,第一在后头...
- 寄存器是中央处理器内的组成部分
- Incapsula企业版测试项目
- 自定义一个月份选择器插件
- 【TI-ONE系列教程(五)】如何使用 TI-ONE SDK 玩转算法大赛
- html5 websocket 手机,HTML5 WebSocket 示范
- 乘法器的Verilog HDL实现
- 20151026作业
- 我最喜爱的九位历史人物 - 曹操(Space搬家)
- DatagramPacket.getData()与DatagramPacket.getLength()的误区
- 网站开发进阶(十一)如何将一个jsp页面嵌套在另一个页面中
- 虚拟机linux修复grub,日常系统维护之修复linux的grub引导
- Zerotier 搭建moon
- GIT上传代码的时候出现(Please tell me who you are.)信息应该咋么解决?
热门文章
- 猿如意开发工具|python3.7
- 3Dtouch 基本原理
- 大数据在高校的应用场景_大数据在高校中的应用研究
- 人生无捷径「一万小时定律·正篇」
- std::packaged_task 源码分析
- plt 固定X轴、Y轴的范围 ax设置横纵坐标的范围 ax.set_ylim(ymin = 0, ymax = 130)ax.set_xlim(xmin = -5, xmax = 5)
- 图片文字识别软件哪个比较好
- 我在成都火车站捡了个彝族美女 第19节:饭来张口的生活
- 为什么数据库会丢失数据?
- 汉诺塔 问题 VIII