模型评估标准之ROC AUC PR

2020-07-06  本文已影响0人  yousa_

在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢?

    1. TP, FP, TN, FN
        True Positives,TP:预测为正样本,实际也为正样本的特征数
        False Positives,FP:预测为正样本,实际为负样本的特征数
        True Negatives,TN:预测为负样本,实际也为负样本的特征数
        False Negatives,FN:预测为负样本,实际为正样本的特征数
    1. 精确率(precision),召回率(Recall)与特异性(specificity)
      精确率:P = \frac{TP}{TP + FP }
      召回率:R = \frac{TP}{TP + FN }
  • 3.F1
    有时也用一个F1值来综合评估精确率和召回率,它是精确率和召回率的调和均值。当精确率和召回率都高时,F1值也会高。严格的数学定义如下:
    \frac{2}{F_1} = \frac{1}{P} + \frac{1}{R}
    约分后,F1= \frac{2*P*R}{P+R}
    有时候我们对精确率和召回率并不是一视同仁,比如有时候我们更加重视精确率。我们用一个参数β来度量两者之间的关系。如果β>1, 召回率有更大影响,如果β<1,精确率有更大影响。自然,当β=1的时候,精确率和召回率影响力相同,和F1形式一样。含有度量参数βF1我们记为, 严格的数学定义如下:
  • 4.此外
    此外还有灵敏度(true positive rate ,TPR),它是所有实际正例中,正确识别的正例比例,它和召回率的表达式没有区别。严格的数学定义如下:
    TPR = \frac{TP}{TP + FN }
     另一个是1-特异度(false positive rate, FPR),它是实际负例中,错误得识别为正例的负例比例。严格的数学定义如下:
    FPR = \frac{FP}{FP + TN }
    (实际上是负的,给预测成正的了)
    1. RoC曲线和PR曲线
      有了上面精确率, 召回率和特异性的基础,理解RoC曲线和PR曲线就小菜一碟了。
      以TPR为y轴,以FPR为x轴,我们就直接得到了RoC曲线。从FPR和TPR的定义可以理解,TPR越高,FPR越小,我们的模型和算法就越高效。也就是画出来的RoC曲线越靠近左上越好。如下图左图所示。从几何的角度讲,RoC曲线下方的面积越大越大,则模型越优。所以有时候我们用RoC曲线下的面积,即AUC(Area Under Curve)值来作为算法和模型好坏的标准。即AUC值高的模型通常效果更好,如果模型1的ROC曲线被模型2完全包裹住,那么我们可以断言模型2是绝对优于模型1的。



      以精确率为y轴,以召回率为x轴,我们就得到了PR曲线。仍然从精确率和召回率的定义可以理解,精确率越高,召回率越高,我们的模型和算法就越高效。也就是画出来的PR曲线越靠近右上越好。如上图右图所示。

使用RoC曲线和PR曲线,我们就能很方便的评估我们的模型的分类能力的优劣了。

上一篇下一篇

猜你喜欢

热点阅读