1、混淆矩阵
二分类任务中用准确率、精度和召回率三大指标评估模型性能,在介绍这些概念之前先介绍混淆矩阵的概念。二分类的混淆矩阵包含四个值:真正例(TP)、假正例(FP)、真反例(TN)、假反例(FN)。如果将一个数据点预测为正例,但它实际是反例,那么它就是一个假正例。
混淆矩阵 | 真实值 | ||
|---|---|---|---|
Positive | Negative | ||
预 测 值 | Positive | True Positive | False Positive |
Negative | False Negative | True Negative | |
2、评估指标
示例场景:100个人中有5个恐怖分子,我们要用一个模型识别出哪些是恐怖分子,此时恐怖分子即为正例,非恐怖分子是负例。
2.1 准确率(accuracy)
定义:在预测的结果中所有被正确预测的正类和正确预测的负类的和占总体样本数的比重
accuracy = (TP + TN)/(TP + TN + FP + FN)
优点:最符合常人理解的评估指标
缺点:对于非常不平衡的数据集来说,比如以上场景,一个模型只要将这100个人全部预测为非恐怖分子,那么准确率就达到了95%,在这样不平衡的数据集中应聚焦正例(恐怖分子)的识别,而不是负例(非恐怖分子)的识别。
2.2 召回率(recall)(也叫查全率)
定义: 针对原来样本而言,它表示样本正类中有多少被预测正确了,那也有两种可能,一种是把原来的正类预测成正类,一种是把原来的正类预测成负类。在恐怖分子检测的例子中,TP是被正确识别 的恐怖分子,FN 是模型误分类为非恐怖分子的恐怖分子的数据点
recall = TP / (TP + FN)
优点 :表达了模型找到数据集中所有感兴趣的数据点的能力
缺点:如果我们将所有人都标记为恐怖分子,那么此时模型的召回率是1.0,显然不行
2.3 精度(precision)(也叫查准率)
定义:精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少时对的,那么预测为正就有两种可能了,一种就是把正类的预测为正的,另一种就是把负类预测为正类。在恐怖分子检测中,TP是被正确标记的恐怖分子,FP是被被错误标记为恐怖分子的非恐怖分子
precision = TP / (TP + FP)
优点:表达模型找到的数据点中实际相关的比例
缺点:如果我们的模型只要将一个恐怖分子正确识别为恐怖分子,其他99个人都标记为非恐怖分子,那么此时精度为1.0,因为没有假正例(FP=0),但是此时的召回率却很低,只有20%
2.4 F1值
根据2.2和2.3的介绍可以发现,随着精度的增加,召回率会降低,反之亦然。因此我们要想找到精度和召回率的最佳组合,可以使用F1 score来对两者进行结合。
F1 = 2 * precision * recall / (precision + recall)
使用调和平均而不是算术平均在于:调和平均可以惩罚极端情况。一个具有 1.0 的精度,而召回率为 0 的分类器,这两个指标的算术平均是 0.5,但是 F1 score 会是 0。F1 score 给了精度和召回率相同的权重,它是通用 Fβ指标的一个特殊情况,在 Fβ中,β 可以用来给召回率和精度更多或者更少的权重。 如果我们想创建一个具有最佳的精度—召回率平衡的模型,那么就要尝试将 F1 score 最大化。
3、分类模型性能可视化技术
3.1 ROC曲线
ROC曲线即受试者特征曲线(Receiver Operating Characteristic curve),它展示了当改变在模型中识别为正例的阈值改变时,召回率和精度的关系会如何变化。ROC 曲线在 Y 轴上画出了真正例率(TPR),在 X 轴上画出了假正例率 (FPR)。其中TPR即为召回率,FPR是负例被预测为正例的概率
TPR = TP / (TP + FN)
FPR = FP / (FP + TN)
下图给一个ROC曲线示例

黑色是随机分类器,每个给定的模型只能对应一条曲线,通过调整对正例进行分类的阈值来沿着曲线移动,降低阈值时向右上方移动。在阈值为 1.0 的情况下,我们将位于图的左下方,因为没有将任何数据点识别为正例,这导致没有真正例,也没有假正例(TPR = FPR = 0)。当降低阈值时,我们将更多的数据点识别为正例,导致更多的真正例,但也有更多的假正例 ( TPR 和 FPR 增加)。最终,在阈值 0.0 处,我们将所有数据点识别为正,并发现位于 ROC 曲线的右上角 ( TPR = FPR = 1.0 )。
3.2 AUC
AUC是曲线下面积,用来量化模型的ROC曲线。这是一个介于 0 和 1 之间的度量,数值越大,表示分类性能越好。在上图中,蓝色曲线的 AUC 将大于红色曲线的 AUC,这意味着蓝色模型在实现准确度和召回率的权衡方面更好。随机分类器 (黑线) 实现 0.5 的 AUC。