对于二分类问题来说,经过分类器分类后一般会出现下面四种情况(假设positive表正类,negative表负类):
- 将正类预测为正类,记该类样本数为TP (true positive)
- 将正类预测为负类,记该类样本数为FN (false negative)
- 将负类预测为正类,记该类样本数为FP (false positive)
- 将负类预测为负类,记该类样本数为TN (true negative)
混淆矩阵如下:
精确率
精确率(precision):被预测成正的样本中预测正确的比例。越接近1,预测效果越好
召回率
召回率(recall):原为正样本中被正确预测的比例。越接近1,效果越好
F1 值
化简得
准确率
准确率(accuracy):被正确预测的样本数占总样本数的比例:
ROC
ROC(Receiver operating characteristic curve)
再写一下混淆矩阵:
引入两个概念真阳性率TPR(被正确判断为正类即Positive的概率)和伪阳性率FPR(被错误判断为正类的概率)
由上混淆矩阵可知:
真阳性率:
伪阳性率:
对于某个二分类模型来说,一般划分正类(positive)和负类(negative)是通过同阈值相比较来划分的,所以说只要调整阈值的大小,就能得出多组TPR和FPR。
将得到的FPR作为横坐标,TPR作为纵坐标,就可以得出对于该分类模型的ROC曲线图了。
如对于某个二分类模型,阈值取
首先来看一下一条特殊的线
还有特殊的两个点
那对于
AUC
AUC (Area under the Curve of ROC) ROC曲线下方面积
结合ROC不难得知:
-
AUC=1 完美分类器 -
0.5<AUC<1 优于随机分类 -
AUC=0.5 效果同随机分类 -
0<AUC<0.5 劣于随机分类,但只要反着分类就优于随机分类 -
AUC=0 反着预测就是完美分类器
参考
https://en.wikipedia.org/wiki/Receiver_operating_characteristic