这些都是评价分类器性能的指标。
二分类问题为例:
图片来自网络
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)
图片来自网络
那么这些点怎么得到呢?先介绍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曲线是越右上效果越好。