机器学习领域里评估指标这么多,今天就简单回顾下常用的准确率(accuracy),精确率(precision) 和召回率(recall)等概念吧!哎,有时候时间太久了就会记不太清楚了。

首先来看看混淆矩阵:

精确率(precision)是针对预测结果而言的,它表示的是预测为正的样本中有多少是对的。那么预测为正就有两种可能:一种就是把正类预测为正类(TP),另一种就是把负类预测为正类(FP)。

召回率(recall)是针对原来样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能:一种是把原来的正类预测成正类(TP),另一种就是把原来的正类预测为负类(FN)。

一般来说,精确率和召回率是一对矛盾的度量。精确率高的时候,往往召回率就低;而召回率高的时候,精确率就会下降。当我们不断地调整评判阈值时,就能获得一条 P-R 曲线

但是在人脸识别领域里,关注更多的还是 ROC 曲线。例如,某某公司经常说自己的人脸识别算法可以做到在千万分之一误报率下其准确率超过 99%,这说的其实就是 ROC 曲线。要知道这个概念,就必须了解 TPR(True Positive Rate)FPR(False Positive Rate)的概念。

TPR: 原来是对的,预测为对的比例。(当然越大越好,1 为理想状态)

FPR: 原来是错的,预测为对的比例,误报率。(当然越小越好,0 为理想状态)

同样不断地调整评判阈值,就能获得一条 ROC 曲线。其中,ROC曲线下与坐标轴围成的面积称为 AUC(AUC 的值越接近于 1,说明该模型就越好)。

最后,必须要注意的是准确率(accuracy)精确率(precision)是不一样的:

参考文献: