python多分类画混淆矩阵_二分类算法的评价指标:准确率、精准率、召回率、混淆矩阵、AUC...

本文介绍了在二分类问题中,准确率、精准率、召回率等评价指标的含义,并通过混淆矩阵进行详细阐述。在数据不平衡的情况下,准确率可能无法准确反映算法性能,因此需要结合精准率和召回率进行评估。同时,通过举例说明了在实际应用中如何避免误判带来的问题。
摘要由CSDN通过智能技术生成

评价指标是针对同样的数据,输入不同的算法,或者输入相同的算法但参数不同而给出这个算法或者参数好坏的定量指标。
以下为了方便讲解,都以二分类问题为前提进行介绍,其实多分类问题下这些概念都可以得到推广。准确率
准确率是最好理解的评价指标,它是一个比值:


准确率 = cfrac{算法分类正确的数据个数}{输入算法的数据的个数}


但是使用准确率评价算法有一个问题,就是在数据的类别不均衡,特别是有极偏的数据存在的情况下,准确率这个评价指标是不能客观评价算法的优劣的。例如下面这个例子:
我们检测对 1000 个人是否患有癌症进行检测,其实癌症是一个发病率很低的疾病,我们就假定这 1000 个人里面只有 3 个人真正患病。
此时,我们可以“无脑地”设计一个算法,就预测这 1000 个人全部健康。根据准确率的定义,除了那 3 个真正患病的病人我们预测错了,其余健康的 997 人我们的算法都预测正确了,此时
准确率=算法分类正确的数据输入算法的数据的总数=9971000=99.7%准确率=算法分类正确的数据输入算法的数据的总数=9971000=99.7%
准确率 = cfrac{算法分类正确的数据}{输入算法的数据的总数} = cfrac{997}{1000} = 99.7%
事实上,这样的算法没有任何的预测能力,真的用于医疗是极其不负责的,于是我们就应该考虑是不是评价指标出了问题。这个时候就需要别的评价指标了。

精准率、召回率

要解释清楚精准率和召回率,得先解释混淆矩阵,二分类问题的混淆矩阵由 4 个数构成。首先我们将二分类问题中,我们关心的,少数的那一部分数据,我们称之为正例(positive),就如同预测癌症,癌症患者就定义为正例。那么剩下的就定义为负例(negative)。

于是,我们定义:

TN:算法预测为负例(N),实际上也是负例(N)的个数,即算法预测对了(True);

FP:算法预测为正例(P),实际上是负例(N)的个数,即算法预测错了(False);

FN:算法预测为负例(N),实际上是正例(P)的个数,即算法预测错了(False);

TP:算法预测为正例(P),实际上也是正例(P)的个数,即算法预测对了(True)。

这 4 个定义由两个字母组成,第 1 个字母表示算法预测正确或者错误,第 2 个字母表示算法预测的结果。

混淆矩阵

混淆矩阵定义如下:

预测值 0预测值 1真实值 0TNFP真实值 1FNTP

二分类算法的评价指标:准确率、精准率、召回率、混淆矩阵、AUC - 李威威 - 博客园​www.cnblogs.com
574a31aef97fa001ad27f5d0345b136a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值