做者:Soner Yildirim 机器学习
deephub翻译组:Alexander Zhao 性能
分类模型(分类器)是一种有监督的机器学习模型,其中目标变量是离散的(即类别)。评估一个机器学习模型和创建模型同样重要。咱们创建模型的目的是对全新的未见过的数据进行处理,所以,要创建一个鲁棒的模型,就须要对模型进行全面而又深刻的评估。当涉及到分类模型时,评估过程变得有些棘手。 学习
在这篇文章中,我会作详细的介绍,说明如何评估一个分类器,包括用于评估模型的一系列不一样指标及其优缺点。 spa
我将介绍的概念包括:翻译
分类精度显示了咱们所作的预测中有多少是正确的。 blog
在不少状况下,它表示了一个模型的表现有多好,但在某些状况下,精度是远远不够的。例如,93%的分类精度意味着咱们正确预测了100个样本中的93个。在不知道任务细节的状况下,这彷佛是能够接受的。 ci
假设咱们正在建立一个模型来对不平衡的数据集执行二分类。93%的数据属于A类,而7%属于B类。 rem
咱们有一个只把样本预测为A类的模型,其实咱们很难称之为“模型”,由于它只能预测A类,没有任何计算推理。然而,因为93%的样本属于A类,咱们的模型的分类精度是93%。 it
若是正确检测B类相当重要,并且咱们没法承受把B类错误地预测为A类的代价(如癌症预测,把癌症病人预测为正常人的后果是不可想象的),该怎么办?在这些状况下,咱们须要其余指标来评估咱们的模型。io
混淆矩阵不是评估模型的一种数值指标,但它可让咱们对分类器的预测结果有深入的理解。学习混淆矩阵对于理解其余分类指标如查准率和查全率是很重要的。
相比分类精度,混淆矩阵的使用意味着咱们在评估模型的道路上迈出了更深的一步路。混淆矩阵显示了对每一类的预测分别是正确仍是错误。对于二分类任务,混淆矩阵是2x2矩阵。若是有三个不一样的类,它就是3x3矩阵,以此类推。
假设A类是正类,B类是反类。与混淆矩阵相关的关键术语以下:
咱们指望的结果是咱们的预测可以与真实类别相匹配。这些术语看起来有些让人头晕眼花,可是你能够想一些小技巧来帮助你记住它们。个人诀窍以下:
第二个字表示模型的预测结果第一个字表示模型的预测是否正确
假阳性也称为I类错误,假阴性也称为II型错误。
混淆矩阵的用途是计算查准率和查全率。
查准率(又称准确率)和查全率(又称召回率)相比分类精度来讲更进一步,使咱们对模型评估有了更加具体的了解。选择哪个指标取决于任务要求与咱们的目标。
**查准率**衡量的是咱们的分类器预测正类的准确性
查准率的重点在于准确地预测正类,它显示了咱们预测的正类中有多少是真正的正类。
**查全率**衡量的是咱们的分类器把正类预测出来的能力
查全率的重点是把真正的正类预测出来,它显示了咱们的分类器可以把真正的正类预测得多全面。
咱们不可能同时提升查准率与查全率,由于这两者仿佛鱼和熊掌,不可兼得。提升查准率会下降查全率,反之亦然。根据任务的不一样,咱们能够最大限度地提升查准率或查全率中的某一个。对于垃圾邮件的检测等任务,咱们尝试最大限度地提升查准率,由于咱们但愿在电子邮件被检测为垃圾邮件时最好检测地很准确,由于咱们不想让有用的电子邮件被错误地标记成垃圾邮件。另外一方面,对于肿瘤的检测等任务,咱们须要最大化查全率,由于咱们但愿尽量多地检测出来患者体内的阳性。
还有一种指标把查准率与查全率结合了起来,这就是F1度量。
F1度量是查准率与查全率的调和平均的倒数。
对于类别不平衡的分类问题,F1度量比分类精度更有用,由于它同时考虑了假阳性和假阴性。最佳的F1度量值是1,最差则是0。
敏感性,也称为真阳性率(TPR),与查全率其实是相同的。所以,它测量的是被正确预测出来的正类占所有正类的比例。
特异性与敏感性类似,但相比之下它更着眼于阴性类别。它测量的是被正确预测出来的负类占所有负类的比例。
ROC曲线(受试者操做特性曲线)和AUC(曲线下面积)这两个指标最好用逻辑回归实例来解释。
Logistic回归给出了样本为正的几率。而后咱们为这个几率设置一个阈值来区分正类和负类。若是几率高于阈值,则将样本分类为正。所以,不一样样本的分类结果会随着阈值的改变而变化,进而改变查准率与查全率等指标。
ROC曲线经过组合不一样阈值取值下的混淆矩阵,总结了模型在不一样阈值下的性能。ROC曲线的x轴为真阳性率(TPR,即敏感性),y轴为假阳性率(FPR,定义为1 - 特异性)。
若是阈值设置为0,则模型将全部样本预测为正值。在这种状况下,TPR为1,然而,FPR也是1,由于没有负类预测。若是阈值设置为1,则TPR和FPR都将变为0。所以,将阈值设置为0或1并非一个好的选择。
咱们的目标是提升真阳性率(TPR),同时保持较低的假阳性率(FPR)。正如咱们在ROC曲线上看到的,随着TPR的增长,FPR也增长。因此咱们要决定咱们能容忍多少误报。
相比在ROC曲线上寻找一个最佳阈值,咱们可使用另外一种称为AUC(曲线下面积)的指标。AUC是ROC曲线下(0,0)到(1,1)之间的面积,能够用积分计算。AUC基本上显示了模型在全部阈值下的性能。AUC的最佳可能值是1,表示这一个完美的分类器。AUC越接近1,分类器越好。在下图中,分类器A比分类器B好。
“没有免费的午饭”定理在分类模型评估上也是适用的,并不是全部任务都有一个最佳且容易找到的选择。咱们须要明确咱们的需求,并根据这些需求选择合适的评价指标。