深度学习入门小菜鸟,希望像做笔记记录自己学的东西,也希望能帮助到同样入门的人,更希望大佬们帮忙纠错啦~侵权立删。
如何评价这个模型对解决你这个问题的“可用”程度,这需要对模型进行测量和评估。每个模型都有他的特别之处,并随因素变化而表现不同,因此需要选择合适的评估指标来进行评定。
目录
1、灵敏度/真正率/召回率(TPR),特异度和假正率(FPR)
一、混淆矩阵
下表就是著名的混淆矩阵(真·混淆bushi)
actual positive | actual negative | |
predicted positive | TP | FP |
predicted negative | FN | TN |
🎈我们先一个一个字母来:
T 表示本次预测结果正确;F 表示本次预测结果错误
P表示判为正例;N 表示判为负例
🎈让我们把字母匹配起来
TP:本次预测为正例(P),而且这次预测是对的(T)
FP:本次预测为正例(P),而且这次预测是错的(F)
TN:本次预测为负例(N),而且这次预测是对的(T)
FP:本次预测为负例(N),而且这次预测是错的(F)
🎈举个栗子吧,比如说正例代表核酸检测阳性(P);负例代表核酸检测阴性(N)
那么TP代表的就是检测出来是阳性并且这一次判断是正确的,FP代表的就是检测出来是阳性并且这一次判断是错误的,TN代表的就是检测出来是阴性并且这一次判断是正确的,FP代表的就是检测出来是阴性并且这一次判断是错误的。
🎈很显然:TP+FP+TN+FN=样本总数
二、准确率(正确率)—— Accuracy
🌳由上面的混淆矩阵得出公式
🌳表示的意义是:所有预测中正确的百分比
🌳虽然准确率可以判断总的正确率,但是在样本不平衡的情况下,并不能作为很好的指标来衡量结果。
比如说P占了总样本量的99.9%,N占0.01%,如果我们毫无逻辑地全部判定为P,那么准确率将高达99.9%,但是实际上我们的模型只是无脑地全部判定为P,所以准确率在样本类别占比不平衡时衡量结果的效果并不好。
三、精确率(查准率)—— Precision
🌳由上面的混淆矩阵得出公式
🌳表示的意义是:在所有判定为P的样本中判定正确的百分比(代表对正样本结果中的预测准确程度)
四、召回率(查全率)—— Recall
1、公式
由上面的混淆矩阵得出公式
2、意义
表示的意义是:实际为正(P)的样本中被预测为正(P)样本的概率
召回率越高,实际为正(P)被预测出来的概率越高,类似于“宁可错杀一千,绝不放过一个”。
3、精确率和召回率的关系
🌳他们是一对矛盾的度量。一般来说,精确率高时,召回率会偏低;而召回率高时,精确率会偏低。
🌳通常只有在一些简单任务中,才可能使精确率和召回率都很高。
五、PR曲线
1、含义解析
🌳P代表的是precision(精准率),R代表的是recall(召回率),其代表的是精准率与召回率的关系,一般情况下,将recall设置为横坐标,precision设置为纵坐标。
🌳在进行比较时,若一个模型的PR曲线被另一个模型的曲线完全包住,则说明后者的性能优于前者,比如上图中A优于C。
🌳A Vs B:因为AB两条曲线交叉了,所以难以比较,这时比较合理的判据就是比较PR曲线下的面积,该指标在一定程度上表征了该模型在精确率和召回率上取得相对“双高”的比例。
算这个曲线的面积不容易,所以人们引入了平衡点”(BEP)来度量
2、BEP
BEP:表示精确率=召回率时的取值,值越大表明该模型性能越好(所以A比B好)
但是BEP还是过于简单,所以更常用的是F1度量(F1-score)
3、F1-score
公式如下:
F1越大性能越好。
六、ROC & AUC
1、灵敏度/真正率/召回率(TPR),特异度和假正率(FPR)
公式如下
特异度:
假正率:
TPR表示模型预测响应的覆盖程度,而FPR表示模型虚报的响应程度。
2、ROC(接受者操作特征曲线)
🌳其中横坐标为假正率(FPR),纵坐标为真正率(TPR)
🌳那ROC曲线该怎么画呢?
举个栗子
样本序号 | 实际类别 | 判断是P的概率 |
1 | P | 0.3 |
2 | N | 0.5 |
3 | P | 0.6 |
4 | P | 0.4 |
我们依次将“Score”值作为阈值threshold,当测试样本属于正样本的概率大于或等于这个threshold时,我们认为它为正样本,否则为负样本。然后以此来计算对应的TPR和FPR,然后绘图即可。
🌳TPR 越高,同时 FPR 越低(即 ROC 曲线越陡),那么模型的性能就越好
3、AUC(曲线下的面积)
AUC是ROC曲线下的面积,介于0.1和1之间。
它作为数值可以用来直观评价模型的好坏,值越大越好。
七、如何选择评估指标
结合实际情况来进行选择,对问题的倾向有所侧重
欢迎大家在评论区批评指正,谢谢大家~