前言
整理了一下资料,辅助理解一下这个模型评测指标。参考链接见文末。
1. 混淆矩阵
对于一个二分类任务(假定为1表示正类, 0表示负类),对于一个样本,分类的结果总共有四种:
- 类别实际为1,被分为0,FN(False Negative)
- 类别实际为1,被分为1,TP(True Positive)
- 类别实际为0,被分为1,FP(False Positive)
- 类别实际为0,被分为0,TN(True Negative)
把这些文字画成图表,给它起个名——混淆矩阵。
2. TPR, FPR
FPR(False Positive Rate)= FP /(FP + TN),即负类数据被分为正类的比例
TPR(True Positive Rate)= TP /(TP + FN),即正类数据被分为正类的比例
3. ROC
ROC曲线是如何得到的
对于样本数据,我们使用分类器对其进行分类,分类器会给出每个数据为正例的概率。
但是概率是个连续值,我们要转化为二分类结果。对此可以设定一个阈值,当某个sample被判断为正例的概率大于这个阈值时,认为该sample为正例,小于则为负例。
然后通过计算我们就可以得到一个(TPR , FPR)
数值对,对应图像上的一个点。通过不断调整阈值,就得到若干个点,从而画出一条曲线。
理解ROC图像
可以看出,当阈值越大时,越多的样本被分为负例,而这些样本中其实也有正例的存在。所以:
- TPR下降(正例数据被分为负例了)
- FPR下降(负类数据更不会被分为正例,但是影响要比TPR小,所以斜率呈上升趋势)。
阈值越小时,越多的样本被分为正例,而这些样本中可能包含是正例,却被分为负例的样本以及是负例却被分为正例的样本,所以:
- TPR上升(更多的正例样本被分为正例)
- FPR上升(更多的负例样本被分为正例,影响更大,所以斜率呈下降趋势)。
4. AUC
定义
AUC,(Area Under Curve),被定义为ROC曲线下的面积
AUC取值范围
显然这个面积小于1,又因为ROC曲线一般都处于y=x这条直线的上方,所以AUC一般在0.5到1之间。
使用AUC的原因
使用AUC值作为评价标准是因为很多时候ROC曲线并不能清晰的说明哪个分类器的效果更好,而作为一个数值,对应AUC更大的分类器效果更好。
AUC含义
AUC的含义为,当随机挑选一个正样本和一个负样本,根据当前的分类器计算得到的score将这个正样本排在负样本前面的概率。
如何根据AUC的值断分类器(预测模型)优劣
- AUC = 1,是完美分类器,采用这个预测模型时,存在至少一个阈值能得出完美预测。绝大多数预测的场合,不存在完美分类器。
- 0.5 < AUC < 1,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
- AUC = 0.5,跟随机猜测一样(例:丢铜板),模型没有预测价值。
- AUC < 0.5,比随机猜测还差;但只要总是反预测而行,就优于随机猜测。
参考链接
https://zhuanlan.zhihu.com/p/100059009
https://zhuanlan.zhihu.com/p/58587448
https://blog.csdn.net/xys430381_1/article/details/88198167
https://towardsdatascience.com/understanding-auc-roc-curve-68b2303cc9c5
https://blog.csdn.net/fengdu78/article/details/105002719