机器学习 模型评估中的 精确率、召回率、F1、ROC、AUC

1 混淆矩阵

准确率对于分类器的性能分析来说,并不是一个很好地衡量指标,因为如果数据集不平衡(每一类的数据样本数量相差太大),很可能会出现误导性的结果。例如,如果在一个数据集中有95只猫,但是只有5条狗,那么某些分类器很可能偏向于将所有的样本预测成猫。整体准确率为95%,但是实际上该分类器对猫的识别率是100%,而对狗的识别率是0%。所以我们先引入一个概念,混淆矩阵 参考文档,我们直接看一个例子。

1.2 多分类的例子

假设有一个用来对猫(cats)、狗(dogs)、兔子(rabbits)进行分类的系统,混淆矩阵就是为了进一步分析性能而对该算法测试结果做出的总结。假设总共有 27 只动物:8只猫, 6条狗, 13只兔子。结果的混淆矩阵如下图:
在这里插入图片描述

在这个混淆矩阵中,实际有 8只猫,但是系统将其中3只预测成了狗;对于 6条狗,其中有 1条被预测成了兔子,2条被预测成了猫。从混淆矩阵中我们可以看出系统对于区分猫和狗存在一些问题,但是区分兔子和其他动物的效果还是不错的。所有正确的预测结果都在对角线上,所以从混淆矩阵中可以很方便直观的看出哪里有错误,因为他们呈现在对角线外面。


混淆矩阵是用来总结一个分类器结果的矩阵。对于k元分类,其实它就是一个k x k的表格,用来记录分类器的预测结果,对于最常见的二分类来说,它的混淆矩阵是2乘2的。本次主要也是使用二分类来进行分析。

2.2 二分类的例子

我们先看一个图
在这里插入图片描述

再对比下我们的0-1预测:

预测值=1 预测值=0
真实值=1 True Positive(TP) False Negative(FN)
真实值=0 False Positive (FP) True Negative(TN)

各类定义:
真阳性(True Positive,TP):样本的真实类别是正例,并且模型预测的结果也是正例
真阴性(True Negative,TN):样本的真实类别是负例,并且模型将其预测成为负例
假阳性(False Positive,FP):样本的真实类别是负例,但是模型将其预测成为正例
假阴性(False Negative,FN):样本的真实类别是正例,但是模型将其预测成为负例

混淆矩阵延伸出的各个评价指标:
准确度(Accuracy) = (TP+TN) / (TP+TN+FN+TN)
正确率(Precision) = TP / (TP + FP)
真阳性率(True Positive Rate,TPR),灵敏度(Sensitivity),召回率(Recall) = TP / (TP + FN)
真阴性率(True Negative Rate,TNR),特异度(Specificity) = TN / (TN + FP)
假阴性率(False Negatice Rate,FNR),漏诊率( = 1 - 灵敏度) = FN / (TP + FN) = 1 - TPR
假阳性率(False Positice Rate,FPR),误诊率( = 1 - 特异度) = FP / (FP + TN) = 1 - TNR
F1-值(F1-score) = 2 * TP / (2 * TP+FP+FN)

2.3 二分类真实数值计算

预测值=1 预测值=0
真实值=1 5 2
真实值=0 4 4

在上面例子中各项评价指标的计算

  1. 准确度(Accuracy) = (TP+TN) / (TP+TN+FN+TN), 准确度 = (5+4) / 15 = 0.6
  2. 正确率(Precision) = TP / (TP + FP),精度 = 5 / (5+4) = 0.556
  3. 真阳性率(True Positive Rate,TPR),灵敏度(Sensitivity),召回率(Recall) = TP / (TP + FN), 召回 = 5 / (5+2) = 0.714
  4. 真阴性率(True Negative Rate,TNR),特异度(Specificity) = TN / (TN + FP), 特异度 = 4 / (4+2) = 0.667
  5. 假阴性率(False Negatice Rate,FNR),漏诊率( = 1 - 灵敏度) = FN / (TP + FN) = 1 - TPR, 特异度 = 2 / (5+2) = 0.286
  6. 假阳性率(False Positice Rate,FPR),误诊率( = 1 - 特异度) = FP / (FP + TN) = 1 - TNR 特异度 = 2 / (4+2) = 0.333
  7. F1-值(F1-score) = 2 * TP / (2 * TP+FP+FN), F1-值 = 2 * 5 / (2 * 5+4+2) = 0.625

2 各类指标的优缺点

猜你喜欢

转载自blog.csdn.net/q370835062/article/details/85008710