最近做图像分类项目,用paddlexGUI得到了一些评估指标,就去看了看,写一下笔记回顾一下。
其实就是从混淆矩阵推理出来的准确率等参数,这个逻辑思维很连贯。
1.混淆矩阵
对于我们简单的二分类模型来说,预测的结果与实际结果组合就能得到四种结果。
实际 | 实际 | ||
1 | 0 | ||
预测 | 1 | TP | FP |
预测 | 0 | FN | TN |
T or F 表明我们预测和实际结果是否一致,
P or N 表示我们预测出来是正样本还是负样本
2.准确率(Accuary)
表明预测准确的占所有样本的比例 =
但是对于不均衡的样本来说,准确率毫无意义。比如1:4的数据,将全部数据预测为数据量大的一类,那么准确率都有80%之高。
3.精确率(Precision)
表明在预测结果为正样本中,真正是正样本的占比 =
4.召回率(Recall)
表明在全部正样本中,能预测正确的样本数量占比 =
可以看到,precision和recall 定义很绕口 所以我这样记忆:recall召回,那就是将正样本放出去(那就是本身为正样本)预测后能够召回的正样本数量占比,那么precision就是预测为正中,真正是正的占比。
5.F1_score
对于precision 和recall 我们有时候想着要兼顾他们,所以定义新指标F1_score
F1_score =
同时,对于网络中不同的阈值有不同的precision和recall,这块好像可以通过precision-recall图来推好的阈值。
6.ROC,AUC
在介绍ROC之前需要引入两个概念
真正率(TPR) =
假正率(FPR) =
因为TPR和FPR都是从实际样本出发来得到的,所以不会受正负样本不均衡的影响。
ROC曲线就是TPR-FPR曲线图。也是根据不同阈值得到的TPR和FPR!!!
ROC曲线越陡表明模型越好。
AUC其实就是roc曲线和x轴之间的面积。
0.5-0.7:效果较低
0.7-0.85:效果一般
0.85-0.95:效果很好
0.95-1:效果非常好
ps:可以想为啥auc一般从0.5开始。