秒懂ConfusionMatrix之混淆矩阵详解

更新时间:2023-06-11 18:42:18 阅读: 评论:0

秒懂ConfusionMatrix之混淆矩阵详解
秒懂Confusion Matrix之混淆矩阵详解
Wiki:
作文吧在机器学习领域和统计分类问题中,混淆矩阵(英语:confusion matrix)是
可视化⼯具,特别⽤于监督学习,在⽆监督学习⼀般叫做匹配矩阵。矩阵的
每⼀列代表⼀个类的实例预测,⽽每⼀⾏表⽰⼀个实际的类的实例。
之所以如此命名,是因为通过这个矩阵可以⽅便地看出机器是否将
两个不同的类混淆了(⽐如说把⼀个类错当成了另⼀个)。
混淆矩阵(也称误差矩阵[1])是⼀种特殊的, 具有两个维度的(实际和预测)列联表(英语:contingency table),并且两维度中都有着⼀样的类别的集合。
本篇介绍包含Confusion Matrix, True Positive, Fal Negative, Fal Positive, True Negative, Type I Error, Type II Error, Prevalence, Accuracy, Precision, Recall, F1 Measure, F Measure, Sensitivity, Speci
ficity, ROC Curve, AUC, TPR, FNR, FPR, TNR, FDR, FOR, PPV, NPV, 算数平均, ⼏何平均, 调和平均。
有时要鉴别⼀个模型的好或坏,并不能简单的看出来,所以我们需要⽤⼀些指标去判定它的好坏,也作为我们挑选模型的依据。如果你稍微查⼀下有哪些指标,你就会发现指标多到让⼈家眼花撩乱,⼀堆名词就摊在那边,让⼈⽆从下⼿。
有⼀种分类问题常⽤的指标称之为Confusion Matrix,这个命名很有趣,这个表格的确是很让⼈感到很困惑啊!⾄少在看完这篇之前。Confusion Matrix是⽤于分类问题的⼀种常⽤的指标,它衍⽣很多不同的指标,下⾯这张图我将Confusion Matrix画出来,并把⼀些⽐较重要的衍⽣指标给标出来。
我猜想,你⼀定看得很模糊吧!没关系我在这篇⽂章中会带⼤家认识这个图⾥的各个名词。
⼀开始我们从下⾯这个表格开始讲起,这个表格就是所谓的Confusion Matrix,前⾯的True和Fal代表预测本⾝的结果是正确还是不正确的,⽽后⾯的Positive和Negative则是代表预测的⽅向是正向还是负向的。
举iphone当例⼦,iphone具有指纹识别解锁系统,假如iphone判定这个指纹是属于使⽤者的,它就会解锁,所以今天如果你按压了,⽽iphone也顺利解锁了,那这种情形就属于左上⾓的情况,称为True Positive,也就是「正确的正向预测」,如果不幸的你按压iphone,结果iphone认不得你的指纹,这就是左下⾓的情况,称为Fal Negativ e,也就是「错误的负向预测」,接下来找你朋友⼀起来测试,
正常情形下你朋友的指纹应该没办法让iphone解锁,这是右下⾓的情况,称为True Negative,也就是「正确的负向预测」,如果令⼈意外的是你的朋友把你的⼿机解锁了,那你最好改成⽤密码锁…,这种情况就是右上⾓的状况,称为Fal Positive,也就是「错误的正向预测」。
从上⾯的描述,我们当然希望我们的模型True Positive和True Negative都可以多多出现,⽽Fal Positive和Fal Negative可以尽量不要出现,因此这两种状况就称之为Error,⼜各⾃⼜命名为Type I Error和Type II Error,这两种错误,错的很不⼀样,如果今天指纹辨识不是放在iphone,⽽是放在你家⼤门锁上,那你最不希望发⽣哪类错误?当然是Type I Error,也就是Fal Positive,此时机器会把陌⽣⼈当成主⼈的开门,这是我们不想看到的,我们宁可被关在门外(Type II Error)!但如果今天这个辨别系统是⽤在Google⼴告,Google Ad会预测⼀个产品的潜在客户,并做⼴告投放,这个时候反⽽是较不希望Type II Error发⽣,也就是Fal Negative,这叫做宁可错杀⼀百个也不要放过⼀个潜在客户。所以下次在训练你的模型时想清楚你不想要Type I Error还是Type II Error (鳌拜:我全都要…),并且⽤⼀些⽅法来放掉另⼀种错误,来降低这个我们不希望发⽣的错误。
Confusion Matrix还有衍⽣很多形形⾊⾊的指标,我接下来就⼀⼀的介绍。
我们把所有正确的情况,也就是True Positive和True Negative,把它加总起来除上所有情形个数,那就是Accuracy,这也是最常⽤的指标,但是在某些情形下这个指标会失效,如果今天实际正向的例⼦
很少,譬如有⼀个信⽤卡盗刷侦测机器⼈,看了⼀个⽉的信⽤卡纪录,其中真正是盗刷的资料笔数是相当少的,那我只要简单⼀步来设计我的模型就可以使它Accuracy达到99%以上,你猜到了吗?那就是通通预测没有盗刷的情况发⽣,所以显然我们需要别种指标来应对这种情况。断掌是什么意思
Precision(准确率)和Recall(召回率)这个时候就派上⽤场了,Precision和Recall同时关注的都是True Positive(都在分⼦),但是⾓度不⼀样,Precision看的是在预测正向的情形下,实际的「精准度」是多少,⽽Recall则是看在实际情形为正向的状况下,预测「能召回多少」实际正向的答案。⼀样的,如果是门禁系统,我们希望Precision可以很⾼,Recall就相较⽐较不重要,我们⽐较在意的是预测正向(开门)的答对多少,⽐较不在意实际正向(是主⼈)的答对多少。如果是⼴告投放,则Recall很重要,Precision就显得没这么重要了,因为此时我们⽐较在意的是实际正向(是潜在客户)的答对多少,⽽相对⽐较不在意预测正向(⼴告投出)答对多少。
Precision和Recall都不去考虑True Negative,因为通常True Negative会是答对的Null Hypothesis,简单讲就是最⽆聊的正确结果。在门禁的解锁问题就是陌⽣⼈按压且门不开;在⼴告投放的例⼦中就是⼴告不投,结果那个⼈也不是潜在客户:在信⽤卡盗刷的例⼦,机器⼈认为正常的刷卡纪录,其实也正是正常的。在通常的命题之下,实际是正向的结果是⽐负向少的,理所当然预测正向的结果也要⽐负向少,所
以True Negative通常是量最多的,也是最⽆聊的。
傍明主张的近义词补充:Null Hypothesis通常代表⽐较常见的情况,在统计上我们要验证某种概念成⽴,我们通常会假设⼀个最普通的Null Hypothesis当作正常情况,然后尝试着利⽤实验数据去否定这个Null Hypothesis,举例:你要证明⼀种药物是有效的,那你要先假设⼀个Null Hypothesis,譬如说给患者吃个安慰剂(可能是⼀颗糖果),你的药要有办法和Null Hypothesis产⽣显著的差异,你才能证明你的药是有效的。所以⽤在机器学习的例⼦当中,通常会把最普通的情况当作Negative,也就是当作Null Hypothesis来看待。
如果今天我觉得Precision和Recall都同等重要,我想要⽤⼀个指标来统合标志它,这就是F1 Score或称F1 Measure,它是F Measure的⼀个特例,当belta=1时就是F1 Measure,代表Precision和Recall都同等重要,那如果我希望多看中⼀点Precision,那belta就可以选择⼩⼀点,当belta=0时,F Measure就是Precision;如果我希望多看中⼀点Recall,那belta就可以选择⼤⼀点,当belta⽆限⼤时,F Measure就是Recall`。
如果你仔细看F1 Measure,你会发现它的平均⽅法是「调和平均」,带⼤家go-through三种平均⽅法,你就能明⽩为什么要使⽤调和平均了。下图列出了三种平均⽅法的使⽤时机,我们要去了解资料或数列的特性,我们才能知道要采取哪种平均⽅法较为恰当,⼤多情况算数平均都可以使⽤,因为我们都假设有线性关系存在,譬如说平均距离;⼏何平均常⽤于⼈⼝计算,因为⼈⼝增加是成⽐例增加的;调和平均常⽤于计算平均速率,在固定距离下,所花时间就是平均速率,这数据成倒数关系,⽽F1 Measure也同样是这样的数据特性,在固定TP的情况下,有不同的分母,所以这⾥使⽤调和平均较为适当。
下图的名词看⼀下有印象就好。
最后这页来讲⼀下医学上常⽤的指标,⾸先是Prevalence(盛⾏率),如果以⼈⼝当作所有的样本,实际得病的患者所占的⽐例就代表这个病的盛⾏情况。
如果今天有⼀个诊断⽅法可以判定病⼈是否有得此病,有两个指标可以看,那就是Sensitivity和Specificity,Sensitivity就是Recall,它代表的是诊断⽅法是否够灵敏可以将真正得病的⼈诊断出来,其实就是真正有病症的患者有多少可以被侦测出来,⽽Specificity则代表实际没病症的⼈有多少被检验正确的。两种指标都是越⾼越好。
通常在医学上,会通过⼀些阀值来断定病⼈是否有得此病,⽽这个阀值就会影响Sensitivity和Specificity,这个不同阀值Sensitivity和Specificity的分布情况可以画成ROC Curve,⽽ROC Curv e底下的⾯积称为AUC,AUC越⼤越好。
想必这个时候你再回去看第⼀张图就更加了解了,有了这些指标,我们就多⼀把尺来评断我们的分类模型究竟是做的好还是不好。
举例:
厨房的对联混淆矩阵是⼀个表,经常⽤来描述分类模型(或“分类器”)在已知真实值的⼀组测试数据上的性能。混淆矩阵本⾝⽐较容易理解,但是相关术语可能会令⼈混淆。
让我们从⼀个⼆进制分类器的混淆矩阵⽰例开始(尽管它可以很容易地扩展到两个以上的类):
九成语
环保黑板报我们能从这个矩阵中了解到什么?
有两种可能的预测类:“yes”和“no”。例如,如果我们预测⼀种疾病的存在,“yes”意味着他们有这种疾病,“no”意味着他们没有这种疾病。
分类器总共做出165个预测(例如,165名患者正在接受该疾病存在的测试)。
在这165个病例中,分类器预测“yes”110次,“no”55次。
事实上,样本中有105名患者患有此病,60名患者没有患病。
>坚决反对四风

本文发布于:2023-06-11 18:42:18,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/1034079.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:预测   矩阵   实际   指标
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图