ROC、AUC、Recall、Precision、Accuracy、F1、PRC 是什么?

这些都是评价分类器性能的指标。

二分类问题为例:
这里写图片描述
图片来自网络

Accuracy(准确率): (TP + TN) / (TP + TN + FN + FP)

准确率指标的问题在于如果问题为偏斜类(Skewed classes),比如真实值中正反比例为 99:1,那预测值无脑预测均为正值,准确率就可达99%,而反例则一个也预测不出来,显然是不可理的。

由此有了Precision(精确率或查准率)、Recall(召回率),这两个指标可以更好的表现偏斜类问题预测的情况。

Precision: TP / (TP + FP)

Precision的大意为:预测值为正的例子中真实值为正的比例。

Recall: TP / (TP + FN)

Recall的大意为:真实值为正的例子中被预测为正的比例。

为了把Precision和Recall合并为一个指标,则有个F1值。

F1 = 2 * (P * R) / (P + R)

这里P为Precision,R为Recall

ROC(Receiver Operating Characteristic,接受者工作特征曲线)

通过调整模型预测的阈值可以得到不同的点,将这些点可以连成一条曲线,就是ROC曲线,而ROC曲线对横轴的积分就是AUC(Area Under the Curve)
ROC、AUC、Recall、Precision、Accuracy、F1、PRC 是什么?_第1张图片
图片来自网络

那么这些点怎么得到呢?先介绍TPR与FPR

TPR即True Positive Rate,TPR = TP/(TP+FN)
TPR大意为:真实的正例中,被预测正确的比例
FPR即False Positive Rate,FPR=FP/(TN+FP)
FPR大意为:真实的反例中,被预测错误的比例

以FPR为横轴,TPR为纵轴,当取不同阈值时得到相应的TPR与FPR绘制在坐标上连线即为ROC曲线。

一般来说,如果ROC是光滑的,那么基本可以判断没有太大的过拟合,这个时候调模型可以只看AUC,面积越大一般认为模型越好。
在ROC空间,ROC曲线越凸向左上方向效果越好。

PRC, precision recall curve(精度-召回率曲线)

与ROC类似区别是这里的横轴是Recall,纵轴是Precision。
PR曲线是越右上效果越好。

你可能感兴趣的:(机器学习)