python多分类画混淆矩阵_【AI基础】分类器评估一:混淆矩阵、准确率、精确率、召回率、灵敏度、特异度、误诊率、漏诊率...

本文介绍了混淆矩阵在机器学习中的作用,通过一个鉴宝的例子解释了准确率、精确率、召回率等评估指标的计算方法,并探讨了它们之间的关系。
摘要由CSDN通过智能技术生成

混淆矩阵

在机器学习中尤其是统计分类中,混淆矩阵(confusion matrix),也被称为错误矩阵(error matrix)。之所以叫做混淆矩阵,是因为能够很容易的看到机器学习有没有将样本的类别给混淆了。都是基于混淆矩阵的。混淆矩阵结构如下图。

06eaa79a90ab706a273fc0444a1a84c3.png
混淆矩阵结构

矩阵的每一列表达了分类器对于样本的类别预测,矩阵的每一行则表达了版本所属的真实类别。每个元素名称都由两部分组成:1.真或假,2.正例或反例。真和假是预测结果是否正确,正例反例是预测的结果。可以看出,对角线的元素是预测正确的元素。

下面还是以前文锤哥的例子讲混淆矩阵。假设锤哥在鉴宝节目鉴别了100个瓷器。其中真品(正例)80个,赝品(反例)20个。锤哥大部分都看准了,但也有的看走了眼。错把3个赝品当成了真品,错把5个真品当成了赝品。这样锤哥鉴定结果为真品78个,其中75个是真真品,3个是假真品;赝品22个,其中17个是真赝品,5个是假赝品。画出混淆矩阵如下。

a4f3c3f0c6b1481257259330aaa643c7.png
锤哥的混淆矩阵

混淆矩阵用最简洁的性质准确刻画了分类器的优劣,是大多数分类器评估指标的基础,多数指标都是从混淆矩阵衍生出来的。

准确率/accuracy

从混淆矩阵看出,对角线是预测正确的样本数,反对角线是预测错误的样本数。将对角线元素加和得到所有预测正确的个数,除以总样本数就得到了准确率。公式:accuracy = (TP+TN) / (TP+TN+FP+FN)。

准确率是全部样本中预测正确的比例,没有将正例和反例分开考察。

锤哥的例子中,accuracy = (75 + 17) / 100 = 0.92。代表锤哥每做一个鉴定,有92%的概率鉴定对。

查准率/精确率/precision/P

查准率是预测为正例的样本中,实际为正例的占比。是锤哥所有鉴定中,鉴定对的比例。

公式:P = TP / (TP+FP)。是对预测正例的预测准确性的一种度量。

锤哥的例子中,R = 75 / (75 + 3) = 0.9615。代表如果锤哥如果鉴定为正品,有96.15%的概率也确实为正品。

查全率/召回率/recall/R

查全率是实际为正例的样本中,预测为正例的占比。是实际为正品中,被锤哥鉴定为正品的瓷器占比。

公式:R = TP / (TP+FN)。是对真实正例的预测覆盖面的一种度量。

锤哥的例子中,P = 75 / (75 + 5) = 0.9372。代表如果一个瓷器为正品,那有93.72%的概率被锤哥鉴定为正品。

灵敏度/真正例率/sensitivity/TPR

召回率的另一种叫法。公式:TPR = TP / (TP+FN)。

特异度/真反例率/specificity/TNR

特异度是实际为反例的样本中,预测为反例的占比。是实际为赝品的瓷器中,被锤哥鉴定为赝品的占比。

公式:TNR = TN / (FP+TN)。是对真实反例的预测覆盖面的一种度量。

锤哥的例子中,TNR = 17 / (3 + 17) = 0.85。代表如果锤哥将一个瓷器鉴定为赝品,这个瓷器有85%的概率确实为赝品。

误诊率/假正例率/FPR

误诊率是实际为反例的样本中,预测为正例的占比。是实际为赝品的瓷器中,被锤哥鉴定为正品的瓷器占比。

公式:FPR = 1 - TNR = FP / (FP+TN)。和TNR一样,是对真实反例的预测覆盖面的一种度量。

锤哥的例子中,FPR = 3 / (3 + 17) = 0.15。代表如果锤哥将一个瓷器鉴定为赝品,这个瓷器有15%的概率实际为正品。

漏诊率/假反例率/FNR

漏诊率是实际为正例的样本中,预测为反例的占比。是实际为正品的瓷器中,被锤哥鉴定为赝品的占比。

公式:FNR = 1 - TPR = TP / (TP+FN)。和TPR 一样,是对真实正例的预测覆盖面的一种度量。

锤哥的例子中,FNR = 3 / (75 + 3) = 0.0385。代表如果锤哥将一个瓷器鉴定为正品,这个瓷器有3.85%的概率实际为赝品。

总结

准确率是整体刻画预测准确性的指标。查准率和查全率是从正例预测角度的一对度量指标。灵敏度和特异度,漏诊率和误诊率是从预测覆盖面角度的一对度量指标。前五个指标,分子都是预测正确个数。后两个指标,分子都是预测错误的个数。

查准率和查全率是负相关的关系,一般此消彼长(P-R曲线图形)。要提升查准率,必然将条件设置的严格一些,以尽可能将反例排除,这就导致了部分正例也被排除,查全率下降;要提升查全率,必然将条件设置的宽松一些,以尽可能将正例包含,这就导致了部分反例也被包含,查准率下降。

真正例率和假正例率以正相关的关系,一般变化方向相同(ROC曲线图形)。要提升真正例率(查全率)必然将条件设置的宽松一些,以尽可能将正例包含,这就导致了部分反例也被包含,假正利率升高。真反例率和假反例率的关系相同。

了解更多欢迎关注我的公众号和专栏。

微信公众号:曲曲菜

知乎专栏:AI和金融模型

原创作品,未标明作者不得转载。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值