分类模型的评估
1. 混淆矩阵
对于一个分类器(二分类),预测结果和真实情况总共存在四种情况,
预测值分为正类、负类,真实值分分为正类、父类,两两组合,共有四种情况,如下所示,即组成一个混淆矩阵
针对多分类问题,真实情况有N类,预测情况有N类,所以其混淆矩阵为NXN
2.Accuracy
准确率即为所有预测正确的样本 / 样本总数
即 Accuracy = (TP+ TN) / (TP+ FN+ FP + TN)
准确率是最常用的评估指标,但是遇到样本不平衡问题,容易失效。
3.Precision&Recall&F1_score
3.1
精度即为预测出的真正的正样本占预测出的正样本的比例,又称查准率
即 Precision = TP / (TP + FP)
3.2
召回率即为预测出的真正正样本占所有正样本的比例,又称查全率
即Recall = TP/ (TP+ FN)
F1分数
精确率和召回率的调和平均
F1 = 2 / (1/Precision + 1/Recall)
4. PR 曲线
一般我们将概率大于0.5判定为1(正例),概率小于0.5判定为0(反例),这样就可以得到一组P值和R值
如果我们将0.4作为划分正例、反例的阈值标准,也可以得到一组P、R值。
根据不懂阈值获得多组P、R值,将他们画在以R为横轴,以P为纵轴的坐标系上,就可以得到一条曲线,即PR曲线
阈值 = 0.3时,P = 4 / 7, R= 4 / 4,
阈值 = 0.4时,P = 4 / 6, R= 4 / 4,
阈值 = 0.5时,P = 3/ 4, R= 2 / 4,
阈值 = 0.6时,P = 2 /2 , R=1 / 4,
阈值 = 0.7时,P = 1 / 1, R= 4 / 4,
阈值 = 0.8时,P = 1, R= 0 / 4,
依据此可以绘制出一条PR曲线。
不同的模型有不同的PR曲线,如何根据不同的PR曲线判断模型的好坏呢
图片来源:https://www.jianshu.com/p/ac46cb7e6f87
6.ROC曲线与AUC
同理,根据不同的阈值,会有多组TPR和FPR,这样我们把在这些点画在一个以TPR为纵轴,FPR为横轴的坐标系中,就构成了ROC曲线
ROC曲线下的面积即为AUC
图片来源:https://www.jianshu.com/p/1afbda3a04ab
当阈值设为0时,预测值全部为正类,TPR = 1, FPR = 1
当阈值为1 时,预测值全部分负类, TPR = 0, FPR= 0,所以可以绘制出上图曲线
根据ROC曲线如何判定模型的好坏呢?
我们肯定是希望TPR却大越好,FPR越小越好,所以AUC越大,模型越好。