单单知道分类正确率是不够的,你可以使用更多的性能评估指标

当你为某个分类问题建立了一个模型时,一般来说你会关注该模型的所有预测结果中正确预测的占比情况。这个性能指标就是分类正确率。

在原作者的上一篇文章中,提到了如何利用交叉验证和多重交叉验证来评估模型的鲁棒性(健壮性),即模型在训练集未设计的样本上的泛化性。在上一篇文章中主要用了分类正确率和平均分类正确率来作为观测指标。

当你说你的模型足够健壮之前,需要评估它解决对应问题时是否足够出色,具有良好的泛化性。因此常规情况下仅仅使用分类正确率是没有说服力的。

照片来源:Nina Matthews Photography,保留部分权利

在本文中我们主要关注预测的精确率(Precision)和召回率(Recall),你可以使用这两个性能指标来评估你的二分类模型性能。

乳腺癌复发预测的例子

乳腺癌数据集是一个标准的机器学习数据集。它记录了286位曾患乳腺癌并治愈的患者的9个相关属性以及未来5年内病情是否复发。

这是一个典型的二分类问题。在286名妇女中,201人五年内没有复发,剩下的85人乳腺癌复发。

我认为在这个分类问题当中,将会复发误报为不会复发要比把不会复发误报为会复发严重得多。因为误判为会复发的患者可以通过进一步检查发现预测的错误,而相反的则会直接出院,丧失了早期发现复发情况的机会。

分类准确率

我们以分类准确率为出发点开始探究以上问题。用正确预测的样本数除以总的预测样本数就可以得到分类的精确度,乘以100就得到了对应的百分比。

预测结果都为不复发

如果我们对所有治愈的患者说五年内不会再复发,如果实际情况与数据集中的一只,此时的预测准确率可以达到(201/286)*100即70.28%的准确率。虽然准确率比较高,但是这个模型是很糟糕的。如果仅仅用这一个模型来为医生提供决策(当然现实中是不可能的),将会有85位患者误以为自己的乳腺癌不会复发(对应负例样本的高误判率)。

预测结果都为会复发

如果我们把所有的预测都改为会复发,此时的准确度为(75/286)* 100即29.72%的准确率。显然这个模型的准确率是十分糟糕的,这会使70.28的患者认为自己的病症会复发,而实际上是并不会复发的(对应正例样本的高误判率)。

CART

CART(Classification And Regression Trees,分类与回归树的简写)是一个简单而又强大的决策树算法,在我们探讨的问题上,CART可以达到69.23的准确率。相比全部分类为不会复发还要差一点,我们应当如何更恰当地评估这时的性能呢?它是比全部预测为不会复发更好一点还是更差一点呢?

不过我们可以肯定的一点是,单单使用准确率这一标准是不足以下定论的。

混淆矩阵

清晰明确地呈现分类器预测结果的常用手段是使用混淆矩阵(有时也称为列联表)。

在二分类问题中,混淆矩阵为2行2列。在本文中,上方的列标注为观测到的真实类别标签,左侧的行标注的是模型预测的类别标签,每个单元格中的数字代表同时分类器输出结果同时满足行,列要求的样本数量。

混淆矩阵真值表

在我们讨论的例子当中,一个完美的分类器的预测结果应当为201个不复发,85个会复发,对应上面单元格的填充情况应当为左上201,右下85。

错误的预测样本会被划分至另外两个单元格。误判的负例(False Negative)在分类器中被误判为不会复发,在完美的分类器中不会出现这种情况。误判的正例(False Postive)在分类器中会被误判为会复发。

这是一个很有用的表格,它将数据中的类别分布和分类器的类别预测结果根据错误的不同类别做了进一步的分解。

预测结果都为不复发时的混淆矩阵

在混淆矩阵中出现了大量(85个)误判的负例(False Negatives)。

预测结果都为不复发时的混淆矩阵

预测结果都为会复发时的混淆矩阵

混淆矩阵中出现了大量(201个)误判的正例(False Positive)。

预测结果都为会复发时的混淆矩阵

CART模型对应的混淆矩阵

这看起来更像一个有价值的分类器,因为它既可以正确地取测出10个正例,也可以正确地取测出188个负例。错误分类的样本分布也更为合理。

CART模型对应的混淆矩阵

准确性悖论

正如我们在这个例子中看到的那样,只用准确性选择模型可能会引起误导。有时可能需要选择精确度较低的模型,如果它对问题有更强的预测能力。

举例来说,如果我们处理的问题中类别的分布时不平衡的,这是如果模型直接将预测结果判定为占比较多的一类就可以获得较高的分类准确性,但是这个模型实际上并没有从问题的域中提取到有价值的规则,也就不能起到实际的作用。我们上面所举的乳腺癌复发预测就属于这类例子。

这种现象就被称作精确性悖论,对于这类问题,我们需要一些额外的手段来评估分类器。

精确率

精确率可以通过正确预测的正例样本数除以总的正例样本数得到,也被称为阳性预测值(Positive Predictive Value,PPV)

精确率可以作为分类器准确率的度量之一,低的精确率也暗示着存在大量误判的正例。

  • 预测结果都为不复发时,精确度为0 /(0 + 0)= 0,精确率0%。
  • 预测结果都为会复发时,精确度为85 /(85 + 201)= 0.30,精确率30%。
  • CART模型的精确度为10 /(10 + 13)= 0.43,精确率43%。

从精确度来看,CART是一个更好的模型,也可以看到虽然预测全部为复发时的准确率较低,但是在精确率上它更占优势。而CART和全部预测为会复发的模型之间准确度的差异可以从两者误判的正例数量占比来解释。

召回率

召回率可以用正确预测的正例数除以正确预测的正例数加上错误预测的负例数,即用正确预测的正例数除以分类器输出的正例数。召回率也被称作灵敏度或PPV(Positive Predictive Value)

召回率可以被认为是分类器完备性的体现,低的召回率暗示着存在大量误判的负例。

  • 预测结果都为不复发时,召回率为 0 /(0 + 85)= 0。
  • 预测结果都为会复发时,召回率为 85 /(85 + 0)* 100% = 100%。
  • CART的召回率为 10 /(10 + 75)* 100% = 12%。

正如大家料想的一样,预测结果都为会复发时,在召回率上的表现是完美的,因为它成功预测到了所有的复发样本。由于CART中存在大量误判的负例,它的召回率要低于全部预测为复发时的情况。

F1得分

F1分数的计算公式为 2((precisionrecall)/(precision+recall)),也被称作F分数或者F度量。换言之,F1分数是综合考量精确率和召回率的结果。

  • 预测结果都为不复发时,F1分数是2 ((0 0)/ 0 + 0)= 0。
  • 预测结果都为会复发时,F1分数是2 ((0.3 1)/0.3+1)= 0.46。
  • CART模型的F1分数是2 ((0.43 12)/0.43+12)= 0.19。

如果我们综合精确率和召回率来选择模型的话,F1分数表明了我们设计的模型一定要超越预测结果均为会复发时的F1分数,可以看出CART模型的预测能力并没有达到这一要求。

总结

在这篇文章中,你可以了解到准确性悖论以及在类别不平衡的问题中单靠分类准确性无法确保选择的模型性能是良好的。

通过实例,我们可以知道混淆矩阵将预测结果根据错误的不同类别做了进一步的分解,以此来描述未预见的数据集预测中的错误,文中还提到了衡量模型的精确率(准确性)和召回率(完备性),以及两者折衷的结果——F1分数。

本文的版权归 ArrayZoneYour 所有,如需转载请联系作者。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大数据

用R处理不平衡的数据

在分类问题当中,数据不平衡是指样本中某一类的样本数远大于其他的类别样本数。相比于多分类问题,样本不平衡的问题在二分类问题中的出现频率更高。举例来说,在银行或者金...

4154
来自专栏数据派THU

Python实例介绍正则化贪心森林算法(附代码)

作者:Ankit Chaoudhary 翻译:笪洁琼 校对:梁傅淇 通过本文与大家讨论一个被称为正则化的贪心森林算法。 引言 作为一名参与多个机器学习竞赛数据...

4426
来自专栏瓜大三哥

图像分割(三) 之基于FPGA的局部自适应分割

图像分割(三) 之基于FPGA的局部自适应分割 在前面讲的自适应分割的原理如下: ? 由公式可以看出,窗口的分割值是对图像进行开窗,并计算窗口内的像素均值和标准...

2577
来自专栏媒矿工厂

HDR关键技术—色域映射

HDR系列前几期为大家介绍了HDR的色调映射技术(Tone Mapping)。其中提到:在色调映射环节,为了便于操作,且不使图像颜色产生巨大失真,色调映射算法通...

4553
来自专栏TensorFlow从0到N

TensorFlow从0到1 - 7 - TensorFlow线性回归的参数溢出之坑

? 上一篇 6 解锁梯度下降算法解释清楚了学习率(learning rate)。本篇基于对梯度下降算法和学习率的理解,去填下之前在线性回归中发现的一个坑。 ...

3737
来自专栏AI深度学习求索

目标检测(CVPR2017):Feature Pyramid Networks

(a)使用图像金字塔构建特征金字塔网络:每个图像尺度上的特征都是独立计算的,速度缓慢。

1773
来自专栏DT乱“码”

TensorFlow实现卷积神经网络

1.卷积神经网络简介 卷积神经网络(convolutional neural network, CNN),最早是19世纪60年代,生物学家对猫视觉皮层研究发...

3079
来自专栏AI科技评论

干货 | 攻击AI模型之DeepFool算法

AI 科技评论按:本文为“兜哥带你学安全”系列之三,首发于AI科技评论,未经许可不得转载。

3083
来自专栏机器之心

教程 | 无需反向传播的深度学习:DeepMind的合成梯度

选自GitHub 作者:iamtrask 机器之心编译 参与:王宇欣、Ellen Han 在这篇博文中,我们将从起点(从零开始)学习 DeepMind 最近提...

34710
来自专栏机器学习之旅

R开发:协调过滤推荐

对于realRatingMatrix有六种方法:IBCF(基于物品的推荐)、UBCF(基于用户的推荐)、PCA(主成分分析)、RANDOM(随机推荐)、SVD(...

1012

扫码关注云+社区

领取腾讯云代金券