【机器学习】准确率、精确率、召回率、误报率、漏报率概念及公式

1,397 阅读2分钟

阳性(正)样例P和阴性(负)样例N,将正样本预测为正样本的为True positive(TP),正样本预测为负样本的为False negativ(FN),负样本预测为正样本的为False positive(FP),负样本预测为负样本的为True negative(TN)。所以有:

P=TP+FNN=FP+TNP = TP+FN \\ N =FP+TN

1、准(正)确率accuracy 反映分类器或者模型对整体样本判断正确的能力,即能将阳性(正)样本positive判定为positive和阴性(负)样本negative判定为negative的正确分类能力。值越大,性能performance越好

ACC=TP+TNTP+TN+FP+FNACC = \frac{TP +TN}{TP+TN+FP+FN}

这里注意,在负样本占绝对多数的场景中,不能单纯追求准确率,因为将所有样本都判定为负样本,这种情况下准确率也是非常高的。 2、精确率precision 反映分类器或者模型正确预测正样本精度的能力,即预测的正样本中有多少是真实的正样本。值越大,性能performance越好

precision=TPTP+FPprecision = \frac{TP}{TP+FP}

这里注意,单纯追求精确率,会造成分类器或者模型少预测为正样本,这时FP低,即精确率就会很高。 3、召回率recall,也称为真阳率、命中率(hit rate) 反映分类器或者模型正确预测正样本全度的能力,增加将正样本预测为正样本,即正样本被预测为正样本占总的正样本的比例。值越大,性能performance越好

recall=TPR=TPTP+FN=TPPrecall =TPR= \frac{TP}{TP+FN} = \frac{TP}{P}

这里注意,单纯追求召回率,会造成分类器或者模型基本都预测为正样本,这时FN低,即召回率就会很高。 4、误报率false alarm,也称为假阳率、虚警率、误检率 反映分类器或者模型正确预测正样本纯度的能力,减少将负样本预测为正样本,即负样本被预测为正样本占总的负样本的比例。值越小,性能performance越好

falsealarm=FPR=FPFP+TN=TPNfalsealarm = FPR=\frac{FP}{FP+TN} =\frac{TP}{N}

5、漏报率miss rate,也称为漏警率、漏检率 反映分类器或者模型正确预测负样本纯度的能力,减少将正样本预测为负样本,即正样本被预测为负样本占总的正样本的比例。值越小,性能performance越好

missrate=FNR=FNTP+FN=FNPmissrate = FNR = \frac{FN}{TP+FN} = \frac{FN}{P}

6、特异度specificity 反映分类器或者模型正确预测负样本全度的能力,增加将负样本预测为负样本,即负样本被预测为负样本占总的负样本的比例。值越大,性能performance越好

specificity=TNR=TNFP+TN=TNNspecificity = TNR = \frac{TN}{FP+TN} = \frac{TN}{N}