【机器学习】混淆矩阵详细介绍(代码+含义+解释)
文章目录一瞥
- 图形介绍
- 重要概念
- 混淆矩阵延伸出的各个评价指标
- 关键术语
图形介绍
同样的道理,这里我们采用recall来计算模型的好坏,也就是说那些异常的样本我们的检测到了多少,这也是咱们最初的目的!这里通常用混淆矩阵来展示。
混淆矩阵(confusion matrix)衡量的是一个分类器分类的准确程度。理解其概念本身容易理解,但一些特定术语易被混淆。
混淆矩阵适用于包含多个分类器的问题,本文为了让读者理解更加容易,以二元分类的混淆矩阵为例进行讲解。
观察混淆矩阵,可得如下结论:
示例是一个二元分类问题,产生两种可能的分类:“是”或者“不是”。当预测一个事件是否发生时,“是”意味着该事件已经发生,而“否”则相反,该事件没有发生。
该模型对这个事件进行了100次预测。
在这100次预测结果中,“是”有45次,“否”有55次。但实际上该事件发生了40次。
重要概念
真阳性(True Positive,TP):样本的真实类别是正例,并且模型预测的结果也是正例
真阴性(True Negative,TN):样本的真实类别是负例,并且模型将其预测成为负例
假阳性(False Positive,FP):样本的真实类别是负例,但是模型将其预测成为正例
假阴性(False Negative,FN):样本的真实类别是正例,但是模型将其预测成为负例
混淆矩阵延伸出的各个评价指标
- 正确率(Accuracy):被正确分类的样本比例或数量
(TP+TN)/Total = (35+50)/100 = 85%
- 错误率(Misclassification/Error Rate):被错误分类的样本比例或数量
(FP+FN)/Total = (5+10)/100 = 15%
- 真阳率(True Positive Rate):分类器预测为正例的样本占实际正例样本数量的比例,也叫敏感度(sensitivity)或召回率(recall),描述了分类器对正例类别的敏感程度。
TP/ actual yes = 35/40 = 87%
- 假阳率(False Positive Rate):分类器预测为正例的样本占实际负例样本数量的比例。
FP/actual no = 10/60 = 17%
- 特异性(Specificity):实例是负例,分类器预测结果的类别也是负例的比例。
TN/actual no = 50/60 = 83%
- 精度(Precision):在所有判别为正例的结果中,真正正例所占的比例。
TP/predicted yes = 35/45 = 77%
- 流行程度(Prevalence):正例在样本中所占比例。
Actual Yes/Total = 40/100 = 40%
关键术语
阳性预测值: 其术语概念与精度非常类似,只是在计算阳性预测值考虑了流行程度。在流行程度为50%的时候,阳性预测值(PPV)与精度相同。
空错误率: 当模型总是预测比例较高的类别,其预测错误的实例所占百分比。在上述示例中,空错误率为60/100 = 60%,因为如果分类器总是预测“是”,那么对于60个为“否”的事件则可能进行错误预测。该指标可用于分类器间的性能比较。然而,对于某些特定的应用程序来说,其最佳分类器的错误率有时会比空错误率更高。
F值:F 值即为正确率和召回率的调和平均值。
Roc曲线:即接收者操作特征曲线(receiver operating characteristic curve),反映了真阳性率(灵敏度)和假阳性率(1-特异度)之间的变化关系。Roc曲线越趋近于左上角,预测结果越准确。
【机器学习】混淆矩阵详细介绍(代码+含义+解释)相关推荐
- 五分钟秒懂机器学习混淆矩阵、ROC和AUC
本文始发于个人公众号:TechFlow,原创不易,求个关注 今天是机器学习专题的第18篇文章,我们来看看机器学习领域当中,非常重要的其他几个指标. 混淆矩阵 在上一篇文章当中,我们在介绍召回率.准确率 ...
- 机器学习 | 混淆矩阵和两类错误的关系
混淆矩阵和两类错误有什么关系吗? 1 混淆矩阵 2 统计学上的两类错误 3 两者的关系 4 参考 1 混淆矩阵 在机器学习的分类问题中,最后需要去评估我们模型的优劣,这时候有众多的指标可以去考虑,之前 ...
- 混淆矩阵与miou代码
一.混淆矩阵 # 计算混淆矩阵 def generate_matrix(num_class,gt_image, pre_image):#正确的gt_maskmask = (gt_image >= ...
- [机器学习] 混淆矩阵和kappa系数
两篇非常非常优秀的博客 4.4.2分类模型评判指标(一) - 混淆矩阵(Confusion Matrix) Kappa系数
- 机器学习——BP神经网络详细介绍及案例Python代码实现
哒哒!来咯!来喽! BP(Back Propagation)称误差反向传播,1985年由Rumelhart 和 McCelland提出.神经元函数如图: (一).举个通俗易懂的例子:假如,我说的是假如 ...
- 机器学习算法原理:详细介绍各种机器学习算法的原理、优缺点和适用场景
目录 引言 二.线性回归 三.逻辑回归 四.支持向量机 五.决策树 六.随机森林 七.K-均值聚类 八.主成分分析(PCA) 九.K近邻算法 十.朴素贝叶斯分类器 十一.神经网络 十二.AdaBoos ...
- Python混淆矩阵(confusion_matrix)FP、FN、TP、TN、ROC,FROC,精确率(Precision),召回率(Recall),准确率(Accuracy),F1分数详述与实现
目录 一.FP.FN.TP.TN 二.准确率(Accuracy).精确率(Precision).召回率(Recall).F1score 2.1.准确率(Accuracy) 2.2.召回率(Recall ...
- 机器学习数学方面的介绍[计算机数学专题(9)]
在学习机器学习之前,应该具有坚实的计算机基础. 深入学习了数据结构与数据结构的算法.计算机组织和系统架构,也具有编写一个完整项目的能力. 我的 AI 专题,主要是以 高中数学 为基础的,所以您应该看看 ...
- python混淆_python实现混淆矩阵
机器学习的评估指标zhuanlan.zhihu.com 该篇文章介绍了机器学习的一些评估指标,要得到这些指标的基础,就是先求得混淆矩阵,那在代码中怎么获取混淆矩阵呢? 二分类 二分类比较简单,所以我 ...
最新文章
- 阿里云应用性能管理(APM)产品-应用实时监控服务(ARMS)技术解密 资料下载...
- 深入理解Java虚拟机知乎_深入理解Java虚拟机(类文件结构)
- C#调用WSC(Windows Script Component)
- C++ inline
- [蓝桥杯][算法提高VIP]数的划分(记忆化搜索)
- 《那些年啊,那些事——一个程序员的奋斗史》——44
- k8s停止服务_使用 K8S 几年后,这些技术专家有话要说
- 微机原理——扩展存储器设计
- 【人脸识别终结者】多伦多大学反人脸识别,身份欺骗成功率达99.5%
- mysql 自连接 树形_自连接表的相关问题(树形结构)
- layui tree ajax刷新,layer 刷新某个页面的实现方法
- leetcode- 225 Implement Stack using Queues
- python 爬虫基础(一)Beautifulsoup基础介绍
- [转]Git使用基础篇
- jtm 一键安装mysql_MySQL数据实时增量同步到Redis
- python免费 爬取原创力文档并转换成pdf(部分版)
- 矩阵分析与应用(四)——逆矩阵、广义逆矩阵和Moore-Penrose逆矩阵
- 使用python来完成数据的线性拟合
- 数理统计(数值修约、0.5修约、0.2修约、有效数字运算、平均值、中位数、极差、标准差、变异系数)
- quartus ii怎么生成pof和下载pof文件