这几个概念一直容易混淆
- 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
大家的意见也不一致,不过我个人觉得上述观点更有道理。