机器学习中常用的模型性能指标

引例

一个测试样本集S总共有100张照片,其中,电动车的照片有60张,摩托车的照片有40张。给模型(二分类模型)输入这100张照片进行分类识别,我们的目标是:要找出这100张照片中的所有电动车。在100张照片中,模型识别给出了50个电动车目标,剩下50个则是摩托车。这与实际的情况有出入(实际是:电动车60个,摩托车40个)。

正例与负例

正例:Positives,即你所关注的类别,本次问题在与找出电动车的照片,那么电动车的照片自然就是正例。
负例:Negatives, 二分类问题中,正例之外即负例,本问题中摩托车的照片就是负例。
定义:
TP:真的电动车(真正例);
FP:假的电动车(假正例);
TN:真的摩托车(真负例);
FN:假的摩托车(假负例)。

符号 简称 含义
TP=40 真正例 识别对了的正例(实际是正例)
FN=20 假负例 识别错了的负例(实际是正例)
TN=30 真负例 识别对了的负例(实际是负例)
FP=10 假正例 识别错了的负例(实际是正例)

1.正确率(Accuracy)

也及准确率,识别对了的正例(TP)与负例(TN)占总识别样本的比例
即:A=(TP+TN)/S,本例中,A=70/100=0.7
通常来说,正确率越高,模型性能越好

2.错误率(Error-rate)

识别错了的正例(FP)与负例(FN)占总识别样本的比例
即:E=(FP+FN)/S,本例中,E=30/100=0.3
可见,正确率与错误率是分别从正反两面进行评价的指标,两者数值相加等于1。

3.精度(Precision)

识别对了的正例(TP)占识别出的正例(TP+FP)的比例。其中,识别出的正例等于识别对的正例加上识别错了的正例。
即P=TP/(TP+FP),本例中,P=40/500=0.8
精度即为识别目标正确的比例。精度也即查准率,好比电动车的例子,模型查出了50个目标,但这50个目标中准确的比率有多少。

4.召回率(Recall)

识别对了的正例(TP)占实际总的正例的比例。其中,实际总正例等于识别对了的正例加上识别错了的负例(TP+FN)。
即R=TP/(TP+FN),本例中,R=40/60=0.67
在一定意义上,召回率也可以说是“找回率”,也就是也就是在实际60个目标中,找回了40个。同时,召回率也即查全率,即在实际60个目标中,有没有查找完全,查找到的比率是多少。

5.F1值(F1 Score)

F1 = 2/[(1/P) + (1/R)]
本例中,F1 = 2/[(1/0.8) + (1/0.67)] = 0.73
F1 值主要用于分类场景

6.P-R、ROC、AUC

  1. P-R 曲线:横轴召回率,纵轴精确率。
  2. ROC(receiver operating characteristic curve接收者操作特征曲线):采用不分类阈值时的TPR(真正例率)与FPR(假正例率)围成的曲线,以FPR为横坐标,TPR为纵坐标。如果 ROC 是光滑的,那么基本可以判断没有太大的overfitting。
  3. AUC(area under curve):计算从(0, 0)到(1, 1)之间整个ROC曲线一下的整个二维面积,用于衡量二分类问题其机器学习算法性能的泛化能力。其另一种解读方式可以是模型将某个随机正类别样本排列在某个随机负类别样本之上的概率。

[参考] 传送门

原文地址:https://www.cnblogs.com/Jack-Tim-TYJ/p/12831953.html