机器学习之类别不平衡问题:模型的评价指标

栏目: 数据库 · 发布时间: 6年前

内容简介:本系列文章主要介绍机器学习中类别不平衡问题的处理,在实际应用中类别不平衡问题是非常常见的,文章主要包括以下部分

本系列文章主要介绍机器学习中类别不平衡问题的处理,在实际应用中类别不平衡问题是非常常见的,文章主要包括以下部分

(1). 模型的评价指标

(2). 不平衡问题的常用指标

(3). 从数据集角度处理不平衡问题

(4). 从算法角度处理不平衡问题

本次文章主要是第一部分模型的评价指标,如果对模型的评价指标不了解,那么后续模型的好坏也无从谈起。

1 、模型评价指标选取的重要性与意义

在完成模型训练之后,必须对模型的效果进行评价,根据评价结果来继续调整模型,以达到满意的结果。

评价一个模型最简单也是最常用的指标就是准确率,但是在没有任何前提下使用准确率作为评价指标,往往不能反映一个模型性能的好坏。例如在某个数据集中,正类样本数占总样本数的 5% ,负类样本数占总样本数的 95% 。那么有一个模型把所有样本全部判断为负类,该模型也能达到 95% 的准确率,但是这个模型没有任何的预测能力。因为对于新来的样本,它总是会把这些样本判断为负类。

因此,对于一个模型我们需要选择合适的评价指标来判断它的性能。在进行不同的模型对比时,使用不同的评价指标往往会导致不同的评价结果;这意味着模型的好坏是相对的,什么样的模型是好的,不仅取决于算法和数据,还决定于业务需求。例如肺癌检测的模型,为了减少肺癌的死亡率,那么这个模型的目标是尽可能的将所有肺癌病人检测出来,即使会有许多的误诊;在商品推荐的模型中,该模型的目标是准确的着到有需求的用户然后推销相应商品,而不希望过多的打扰其他的用户。所以不同的业务需求,需要选择不同的评价指标,这样才能通过评价指标来判断模型效果。

2 、评价指标介绍

下面以二分类为例,介绍分类模型中的常用指标。

混淆矩阵

混淆矩阵是一个能够比较直观的反应模型性能,从混淆矩阵能够衍生出很多的指标。不仅在二分类问题中常见,在多分类的问题中也同样适用,是一种比较实用的可视化方法。

机器学习之类别不平衡问题:模型的评价指标

(a)二分类的混淆矩阵图示意图     

机器学习之类别不平衡问题:模型的评价指标

(b)混淆实例图

(b) 中混淆矩阵的每一行表示的是实际样本所属的类别,每一列表示的是模型对样本的预测类别。每一行的数据总和表示该类别的样本数目总数,每一列的数据总和表示模型预测为该类别的样本数目总数。矩阵中所有数据总和表示该数据集的所有样本总数。

从图 (a) 混淆矩阵示意图中能够直接得到

True Positive ( 真正例, TP) 实际为正,预测为正,预测正确的正样本个数。

False Negative ( 假负例, FN) 实际为正,预测为负, 预测错误的正样本个数

True Negative ( 真负例, TN) 实际为负,预测为负,预测正确的负样本个数。

False Positive ( 假正例, FP)   实际为负,预测为正,预测错误的负样本个数。

通过上述 4 个值,通过简单的组合可以得到

Precision ( 查准率,精准率 )

机器学习之类别不平衡问题:模型的评价指标

Precision 表示的是预测正确的正样本个数占所有预测为正样本的比例,反映的是模型预测正样本的准确性,因此被称为查准率。但是 Precision 不能反映有多少正样本被错误预测为了负样本 ( FN) 。例如,假设在某个数据集中,正负样本的个数各为 1000 ,有一个模型在这个数据集上只将 1000 个正样本中的 1 个样本预测为正,其余所有都预测为负。此时该模型的 TP=1 FP=0 ,因此 Precision 100% ,但是可以看出该模型实际上遗漏了几乎所有的正样本。所以只有在特定的需求下,才会只关注该指标例如上述提到的商品推荐的模型的精准推荐中。通常情况下, Precision 会与其他指标结合使用。

Recall ( 查全率,召回率 )

机器学习之类别不平衡问题:模型的评价指标

又称 True Positive Rate (TPR ,真正例率 ) Sensitivity( 敏感性 ) ,其中 Sensitivity 在医学领域中比较常用。 Recall 表示的是预测正确的正样本个数占实际正样本的比例,反映的是模型预测正样本的全面性,因此被称为查全率。和 Precision 相反, Recall 不能反映有多少负样本被错误预测为了正样本 ( FP) 。例如,假设数据集的负样本的个数各为 1000 ,另外个模型在这个数据集上将所有的样本全部预测为正,此时该模型的 TP=1000 FN=0 ,因此 Recall 100% 。该模型则是完全不管负样本。该指标的适用场景主要是在医学中,在医学中必须极力降低漏诊率,因为误诊的风险相比漏诊而言要低很多。

可以看出, Precision Recall 是相互矛盾的两个指标。一般而言, Precision 较高时, Recall 往往偏低;而 Recall 较高时, Precision 往往偏低。除了在特定的需求外,单一的 Precision 或者 Recall 都无法综合的评价一个模型,因此便有了 F1 score

机器学习之类别不平衡问题:模型的评价指标

F1 score 是一个综合指标,是Precision和 Recall 的调和平均 (harmonic mean) ,与算 术平均 机器学习之类别不平衡问题:模型的评价指标 )和几何平均( 机器学习之类别不平衡问题:模型的评价指标 )相比,调和平均更重视较小值。 因此 理论上 如果 F1 score 比较高的话,意味着 Precision和 Recall 都较高 另外 F1 score有更一般的形式,它是一个加权的调和平均,可以来表示对 PrecisionRecall 的不同偏好程度。

机器学习之类别不平衡问题:模型的评价指标

除此之外,还有其他的一些重要的指标

例如我们最常用的 Accuracy(准确率 ) ,从混淆矩阵出发可以得到,

机器学习之类别不平衡问题:模型的评价指标

Accuracy 反映的是预测正确的样本占所有样本的比例,反映了一个模型的区分能力,但是 Accuracy 的区分能力没有偏向于正负样本中的任何一类,在不平衡数据集中使用 Accuracy 就会出现很大的问题。

在医学中,与敏感性对应的一个指标称为 Specificity(特异性 ) 又称为 True Negative Rate (TNR ,真负例率 ), 它的具体定义如下

机器学习之类别不平衡问题:模型的评价指标

Specificity 表示的是预测正确的负样本个数占实际负样本的比例,它的定义与 Recall Sensitivity )十分相似,只不过 Recall Sensitivity )是针对于正样本,而 Specificity 则是针对于负样本。 Specificity 在医疗中也被认为是一个重要指标 若一个模型将所有的样本全部判断为患病,此时 Recall Sensitivity =0 ,而 Specificity 却很低,这也是不合理的,尽管没有了漏诊的情况,但是大大的加重了医生的负担和未患病人的麻烦。 因此,在医学领域, 特异性 敏感度 是需要同时 考虑 的。

另外还有一个重要的指标 False Positive Rate (FPR ,假正例率 )

机器学习之类别不平衡问题:模型的评价指标

该指标与 Specificity(特异性) 一样,针对负样本,表示的是预测错误的负样本个数占所有负样本的比例,在 ROC 曲线和 KS 曲线中与 TPR 一起出现,反映正负样本之间的关系。

本文从混淆矩阵出发,介绍了分类模型常用的指标以及它们简单的优缺点和适用性,主要有: Precision ( 查准率,精准率 ) Recall ( 查全率,召回率 ) 又称 True Positive Rate (TPR ,真正例率 ) Sensitivity( 敏感性 ) 以及从这两个指标的调和平均值 F1 score 及其对应加权版本。另外还有最常用的指标 Accuracy( 准确率 ) 在医学领域, 敏感度是需要同时 考虑 Specificity( 特异性 ) 和后续在不平衡常用指标中涉及的 False Positive Rate (FPR ,假正例率 )


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

The Apache Modules Book

The Apache Modules Book

Nick Kew / Prentice Hall PTR / 2007-02-05 / USD 54.99

"Do you learn best by example and experimentation? This book is ideal. Have your favorite editor and compiler ready-you'll encounter example code you'll want to try right away. You've picked the right......一起来看看 《The Apache Modules Book》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试