一文搞懂分类算法中常用的评估指标

导读【一文搞懂分类算法中常用的评估指标】通常我们在解决某个问题的时候,会设计多种分类算法在训练的时候我们还会调节各种超参以及使用各种trick以获取最优的分类模型,那这时候我们应该如何来衡量这个最优呢?
分类算法的评估指标有很多种,选择使用哪一种评估指标,应该根据实际情况来进行选择,而不能一概而定 。
混淆矩阵我们先来了解一下混淆矩阵,后面的分类评估指标其实都是在这个基础上发展而来,理解了这个,再去学习后面的评估指标就很简单了 。
混淆矩阵(confusion matrix):是机器学习领域和统计分类问题中常用的可视化工具,从名字上不能看出其实它就是一个矩阵,它主要由两个维度组成实际类别和预测类别 。矩阵的每一列代表一个类的实例预测,而每一行表示一个实际的类的实例 。之所以如此命名,是因为通过这个矩阵可以方便地看出机器是否将两个不同的类混淆了(比如说把一个类错当成了另一个) 。下面我们来看一个猫狗分类的实例

一文搞懂分类算法中常用的评估指标

文章插图
混淆矩阵
上面的表格很简洁的展示了分类模型的预测结果,一共预测了8只猫和5只狗,其中5只猫和3只狗预测正确,3只猫和2只狗预测错误 。表格中的对角线元素表示预测正确,对角线之外均表示预测错误,下面我们用专业的术语来描述预测结果:
  • 真正例(True Positives)简称TP: 被正确地划分为正例的个数,即实际为正例且被分类器划分为正例的实例数
  • 假正例(False Positives)简称FP:被错误地划分为正例的个数,即实际为负例但被分类器划分为正例的实例数
  • 真负例(True Negatives)简称TN:被正确地划分为负例的个数,即实际为负例且被分类器划分为负例的实例数
  • 假负例(False Negatives)简称FN:被错误地划分为负例的个数,即实际为正例但被分类器划分为负例的实例数
对上面的术语做一个说明帮助大家记忆和理解:
上面中的True和False表示的是样本的真实标签,Positives和Negatives表示的是模型的预测标签 。
样本实际的正例数:P=TP+FN
样本实际的负例数:N=TN+FP
分类算法中的评估指标
  1. 正确率(accuracy)
正确率是我们常用的分类指标,计算公式如下
一文搞懂分类算法中常用的评估指标

文章插图
 
正确率是指分类算法预测正确的样本在总样本中所占的比例,一般来说,正确率越大表示分类算法的效果越好
  1. 错误率(error)
错误率是指分类算法预测错误的样本在总样本中所占的比例,计算公式如下
一文搞懂分类算法中常用的评估指标

文章插图
 
对于某一个实例来说,分对和分错是一个互斥事件,accuracy+error=1
  1. 召回率(recall)
召回率也被称为灵敏度(sensitivity),指分类正确的正例在正例中所占的比例
一文搞懂分类算法中常用的评估指标

文章插图
 
  1. 精度(precision)
精度是精确性的度量,表示被分为正例中实际为正例所占的比例
一文搞懂分类算法中常用的评估指标

文章插图
 
  1. 特异性(specificity)
表示的是所有负例中被分对的比例,衡量了分类器对负例的识别能力
一文搞懂分类算法中常用的评估指标

文章插图
 
  1. F1-Score
有的时候我们需要结合多个指标来评估算法的效果,而F1-Score就是综合考虑了recall和precision两个指标,因此F1-score也被称为综合分类率 。计算公式如下
一文搞懂分类算法中常用的评估指标

文章插图
 
  1. ROC曲线
ROC曲线是(Receiver Operating Characteristic Curve,受试者工作特征曲线)的简称,是以灵敏度(真阳性率)为纵坐标,以1减去特异性(假阳性率)为横坐标绘制的性能评价曲线 。可以将不同模型对同一数据集的ROC曲线绘制在同一笛卡尔坐标系中,ROC曲线越靠近左上角,说明其对应模型越可靠 。也可以通过ROC曲线下面的面积(Area Under Curve, AUC)来评价模型,AUC越大,模型越可靠 。
一文搞懂分类算法中常用的评估指标

文章插图
 
  1. PR曲线
PR曲线是Precision Recall Curve的简称,描述的是precision和recall之间的关系,以recall为横坐标,precision为纵坐标绘制的曲线 。该曲线的所对应的面积AUC实际上是目标检测中常用的评价指标平均精度(Average Precision, AP) 。AP越高,说明模型性能越好 。


推荐阅读