数据的真实结果和预测结果如以下二联表所示,行为真实值,列为预测值。
真实阳性 | 真实阴性 | |
---|---|---|
预测阳性 | TP | FP |
预测阴性 | FN | TN |
F score
- Fscore是precision和recall的调和平均数,当precision和recall都大时,Fscore才会大,其中:
精确率: P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
召回率: R e c a l l = T P T P + F N Recall=\frac{TP}{TP+FN} Recall=TP+FNTP
recall等价于sensitivity(灵敏性),为真阳性率(true positive rate,TPR)。F socre的计算公式为:
F s c o r e = ( P r e c i s i o n − 1 + R e c a l l − 1 2 ) − 1 = ( 2 + F P T P + F N T P 2 ) − 1 Fscore={(\frac{Precision^{-1}+Recall^{-1}}{2})}^{-1}={(\frac{2+\frac{FP}{TP}+\frac{FN}{TP}}{2})}^{-1} Fscore=(2Precision−1+Recall−1)−1=(22+TPFP+TPFN)−1
因此,Fscore只与FP/TP和FN/TP有关。当TP大,FP和FN都小的时候Fscore才会比较大。Fscore(precision-recall)受到群体中真阳性比例的影响,若真阳性比例较少则会使得TP与FP相差不大,从而导致Fscore较小。此时Fscore用于评价模型性能则不适用(如早筛)。
ROC (Receiver Operating Characteristic)
FPR(fale positive rate,FPR)假阳率,又称误报率、误检率:
F
P
R
=
F
P
F
P
+
T
N
FPR=\frac{FP}{FP+TN}
FPR=FP+TNFP
其与特异性的和为1。
Specificity,特异性:
S
p
e
c
i
f
i
c
i
t
y
=
T
N
T
N
+
F
P
Specificity=\frac{TN}{TN+FP}
Specificity=TN+FPTN
- ROC曲线:一般选取一个特定阀值(threshold),预测为正样本的概率大于等于该阀值判定为正样本,小于该阀值判定为负样本。根据召回率TPR和误报率FPR,在平面上描述对应的坐标点和值,就得到ROC曲线,其中TPR为纵轴,FPR为横轴。ROC曲线中左下角(0,0)阈值最大,此时所有样本均为阴性,因而有FPR=0,TPR=0;ROC曲线中右上角(1,1)阈值最小,此时所有样本均为阳性,因而有FPR=1,TPR=1。ROC曲线在左下角到右上角移动过程中,随着阀值的逐渐减小,越来越多的正样本会被判定为阳性,但也伴随着阴性样本被判定为阳性样本。所以TPR和FPR都会增大。当然最佳的阀值是越接近左上角,此时TPR=1,FPR=0。
- AUC值为ROC曲线向下覆盖的面积,取值范围为[0,1],值越大,性能越好。
- 另一种AUC计算法方法:
A U C = Σ i ∈ p o s i t i v e I ( P p , P n ) M × N AUC=\frac{\Sigma_{i\in positive I(P_p,P_n)}}{M\times N} AUC=M×NΣi∈positiveI(Pp,Pn)
其中, P p P_p Pp和 P n P_n Pn分别为预测阳性样本和阴性样本的概率, I ( P p , P n ) I(P_p,P_n) I(Pp,Pn)为:
I ( P p , P n ) = { 1 = i f P p > P n 0.5 = i f P p = P n 0 = i f P p < P n I(P_p,P_n)=\left\{ \begin{aligned} 1 & = & if P_p>P_n \\ 0.5 & = & if P_p=P_n \\ 0 & = & if P_p<P_n \end{aligned} \right. I(Pp,Pn)=⎩ ⎨ ⎧10.50===ifPp>PnifPp=PnifPp<Pn
AUC同时考虑了模型对于阳性样本和阴性样本的分类能力。因此,即使训练样本存在不平衡,AUC指标依然可以对模型作出合理的评价,在群体中真阳性比例较少时依然适用(如早筛)。
阳性和阴性预测值
除了以上指标之外,阳性预测值和阴性预测值也常作为评价模型好坏的指标,在肿瘤早筛中应用较多。阳性预测值(PositivePredictive Value, PPV)是指早筛产品判断为阳性(患癌)的受检者中,真正患癌的比例,是衡量早筛产品避免“误诊”能力的指标。PPV=真阳性人群/检测阳性人群。理想的早筛产品的PPV为 100%,不存在假阳性人群。计算公式为:
P
P
V
=
T
P
T
P
+
F
P
PPV=\frac{TP}{TP+FP}
PPV=TP+FPTP
阴性预测值(Negative Predictive Value, NPV)是指早筛产品判断为阴性(健康)的受检者中,真正未患癌的比例,是衡量早筛产品“漏检”能力、排阴能力的指标。计算公式:
N
P
V
=
T
N
T
N
+
F
N
NPV=\frac{TN}{TN+FN}
NPV=TN+FNTN