准确率、精确率、召回率、F1score和混淆矩阵

准确率和PR、confusion matrix的概念初次接触是在六年前,2017着手在做激光雷达点云处理的相关事宜,六年时光不长,却有很多事情发生。

精确率 precision

也叫查准率,即正确预测为正的占全部预测为正的比例(不准错,宁愿漏检,也不能让现有的预测有错)。

precision= \frac{TP}{TP+FP}
精确率代表对正样本结果中的预测准确程度,准确率则代表整体的预测准确程度,包括正样本和负样本。分母是预测到的正类,精确率的提出是让模型的现有预测结果尽可能不出错。

召回率 Recall

即正确预测为正的占全部实际为正的比例(不准漏,宁可错杀一千,也不放过一个)。

Recall=\frac{TP}{TP+FN}

召回率(Recall) 是针对原样本而言的,其含义是在实际为正的样本中被预测为正样本的概率。高的召回率意味着可能会有更多的误检,但是会尽力找到每一个应该被找到的对象。应用场景例如癌症筛查、排查安全隐患。

准确率 accuracy

所有的预测正确(正类负类)的占总的比重。

Accuracy=\frac{TP+TN}{TP+FN+TN+FP}

 虽然准确率能够判断总的正确率,但是在样本不均衡的情况下,并不能作为很好的指标来衡量结果。在样本不平衡的情况下,得到的高准确率没有任何意义,此时准确率就会失效。例如如果一个肿瘤科医生看病,不经检验就告诉每个患者他们没有患病,检查的准确率为99.6%!(癌症患病率约为0.4%)。

F-Score:召回率与精确率的博弈

精确率和召回率互相影响,理想状态下肯定追求两个都高,但是实际情况是两者相互“制约”:追求精确率高,则召回率就低;追求召回率高,则通常会影响精确率。我们当然希望预测的结果精确率越高越好,召回率越高越好, 但事实上这两者在某些情况下是矛盾的。这样就需要综合考虑它们,最常见的方法就是F-score。 也可以绘制出P-R曲线图,观察它们的分布情况。

Fscore=(1+\beta ^{2})\frac{precision*recall}{\beta ^{2}*precision+recall}

F-Score:权衡精确率(Precision)和召回率(Recall),一般来说准确率和召回率呈负相关,一个高,一个就低,如果两个都低,一定是有问题的。 一般来说,精确度和召回率之间是矛盾的,这里引入F1-Score作为综合指标,就是为了平衡准确率和召回率的影响,较为全面地评价一个分类器。F1是精确率和召回率的调和平均。F1-score越大说明模型质量更高。

  • β如果取1,表示Precision与Recall一样重要
  • β如果取小于1,表示Precision比Recall重要
  • β如果取大于1,表示Recall比Precision重要

关于以上等式可以通过等式变换来解决,参考以下等式变换的关系:

Fscore=(1+\beta ^{2})\frac{precision*recall}{\beta ^{2}*precision+recall}=\frac{\beta ^{2}pr+r^{2}-r^{2}+p*r}{\beta^{2}*p+r} =r+(pr-r^{2}))*\frac{1}{\beta^{2}*p+r}

\beta 越大则与p有关的数据越大,分式值越小,前置的常数项所占据的影响越大。

PR-曲线

以召回率作为横坐标轴,精确率作为纵坐标轴。AP就是PR曲线与X轴围成的图形面积,AP值为1时模型性能最好。

PR曲线包裹的区域面积越大越好。

混淆矩阵(Confusion matrix)

混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,用n行n列的矩阵形式来表示。具体评价指标有总体精度、制图精度、用户精度等,这些精度指标从不同的侧面反映了图像分类的精度。 在人工智能中,混淆矩阵(confusion matrix)是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。在图像精度评价中,主要用于比较分类结果和实际测得值,可以把分类结果的精度显示在一个混淆矩阵里面。混淆矩阵是通过将每个实测像元的位置和分类与分类图像中的相应位置和分类相比较计算的。

猜你喜欢

转载自blog.csdn.net/NCU_wander/article/details/130125250