相关指标学习
前记
在机器学习或者深度学习中,避免不了使用指标去评价某个模型的好坏。通常情况下,一个模型的好坏,是由多个指标来共同决定的,那么有必要去学习他们之间的定义以及关联。
在学习模型的评价标准之前,我们需要先定一个基础知识,这些是你必须了解的。通过这些基础知识的了解,我们才可以将模型的评价标准了解的更加透彻。
-
True Positives
,TP
:预测为正样本,实际也为正样本的特征数 -
False Positives
,FP
:预测为正样本,实际为负样本的特征数 -
True Negatives
,TN
:预测为负样本,实际也为负样本的特征数 -
False Negatives
,FN
:预测为负样本,实际为正样本的特征数
听起来还是很费劲,不过我们用一张图就很容易理解了。图如下所示,里面绿色的半圆就是TP(True Positives)
, 红色的半圆就是FP(False Positives)
, 左边的灰色长方形(不包括绿色半圆),就是FN(False Negatives)
。右边的 浅灰色长方形(不包括红色半圆),就是TN(True Negatives)
。这个绿色和红色组成的圆内代表我们分类得到模型结果认为是正值的样本。
准确率
定义:预测为正样本中,预测正确与预测为正确的样本之比。
P
=
T
P
T
P
+
F
P
P=\frac{TP}{TP+FP}
P=TP+FPTP
通过上面的图形来看,就是绿色半圆的面积整个圆的面积之比。
召回率
定义:召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。那也有两种可能,一种是把原来的正类预测成正类(TP
),另一种就是把原来的正类预测为负类(FN
)。
R
=
T
P
T
P
+
F
N
R=\frac{TP}{TP+FN}
R=TP+FNTP
召回率(Recall)的定义也在图上能看出,是绿色半圆除以左边的长方形。
准确率和召回率实际意义
准确率和召回率是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。
一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。
ROC
曲线与AUC
曲线
在讲如何画出ROC
曲线与AUC
曲线之前,我们要先了解一下灵敏度和特异度这两个指标:
灵敏度(true positive rate ,TPR
):它是所有实际正例中,正确识别的正例比例,它和召回率的表达式没有区别。数学定义如下:
T
P
R
=
T
P
T
P
+
F
N
TPR=\frac{TP}{TP+FN}
TPR=TP+FNTP
特异度(false positive rate, FPR
):它是实际负例中,错误得识别为正例的负例比例。数学定义如下:
F
P
R
=
F
P
F
P
+
T
N
FPR=\frac{FP}{FP+TN}
FPR=FP+TNFP
有了上面的两个定义,那么可以说主角ROC
曲线和AUC
曲线呼之欲出:
以TPR
为y轴,以FPR
为x轴,我们就直接得到了RoC
曲线。从FPR
和TPR
的定义可以理解,TPR
越高,FPR
越小,我们的模型和算法就越高效。也就是画出来的RoC
曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC
曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC
曲线下的面积,即AUC
(Area Under Curve)值来作为算法和模型好坏的标准。
所以,可以直接从上面得到了AUC
和ROC
的相关内容。
PR
曲线
以精确率为y轴,以召回率为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。
F1
指标
F1
值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1
值也会高。
数学定义如下:
2
F
1
=
1
P
+
1
R
\frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}
F12=P1+R1