准确率与召回率

    这几个概念一直容易混淆

  • True Positive(真正, TP):将正类预测为正类数.
  • True Negative(真负 , TN):将负类预测为负类数.
  • False Positive(假正, FP):将负类预测为正类数 → 误报 (Type I error).
  • False Negative(假负 , FN):将正类预测为负类数 → 漏报 (Type II error).

   1、精确率(precision)定义为:

     

   2、召回率(recall,sensitivity,true positive rate)定义为:

    

  那么该如何解释这两个概念呢?

  参考这位博主给出的机器学习性能评价指标:http://charlesx.top/2016/03/Model-Performance/

                                         知乎上的讨论:https://www.zhihu.com/question/19645541

 其中知乎上有位答主给的例子浅显易懂:

 

总结下就是,准确率是你预测对了多少;召回率是指你预测全了多少。

3、ROC曲线

     横轴为FPR,纵轴为TPR(召回率)。分析四个点:

     (0,1):正负类都分得正确,最理想的分类器。

     (1,0):将所有的正类都预测为了负类,将所有的负类都预测为了正类,最糟糕的分类器。

     (0,0):将所有的样本都预测为负类。

     (1,1):将所有的样本都预测为正类。

       因此,ROC越接近左上角(0,1),分类性能越好。

4、AUC曲线

     定义为ROC曲线下的面积,面积越大分类效果越好。

5、PRC曲线

     precision-recall曲线

6、f1

2/(1/P+1/R)
当P和R越接近时,f1越大。

这么多评价标准,那么在实际应用时该怎么选呢

如果只能选一个指标,那就选PRC(或f1)。在负样本远大于正样本的数据集中,ROC曲线几乎不变,

无法显示出分类器的好坏,PRC则更能显示出分类器的好坏。

有位知友给的结论:学术论文在假定正负样本均衡的时候多用ROC/AUC,实际工程更多存在数据标签倾斜问题一般使用F1。

详见知乎上的讨论:https://www.zhihu.com/question/30643044

大家的意见也不一致,不过我个人觉得上述观点更有道理。

原文地址:https://www.cnblogs.com/573177885qq/p/5870691.html