||
推荐两个帖子:
https://blog.csdn.net/qq_16488989/article/details/109090801
https://zhuanlan.zhihu.com/p/67844308
精确率(Precision)和召回率(Recall)评估指标,理想情况下做到两个指标都高当然最好,但一般情况下,Precision高,Recall就低,Recall高,Precision就低。
所以在实际中常常需要根据具体情况做出取舍,例如一般的搜索情况,在保证召回率的条件下,尽量提升精确率。而像癌症检测、地震检测、金融欺诈等,则在保证精确率的条件下,尽量提升召回率。
引出了一个新的指标F-score,综合考虑Precision和Recall的调和值。
· 当β=1时,称为 F1-score或者 F1-Measure,这时,精确率和召回率都很重要,权重相同。
· 当有些情况下,我们认为精确率更重要些,那就调整β的值小于1,
· 如果我们认为召回率更重要些,那就调整β的值大于1。
常见的F1分数**(F1-Score**)计算公式如下:
举个例子:某地区新冠病毒检查数据样本有10000个,其中5个样本核酸检测呈阳性,其它多次检测都是阴性。假设分类模型在多次检测都是阴性的数据9995中预测正确了9990个,在5个核酸检测呈阳性数据中预测正确了4个,此时TP(正->正)=4,TN(负->负)=9990,FP(负->正)=5,FN(正->负)=1。
注:这里正类表示核酸检测呈阳性,负类表示多次检测呈阴性。
根据准确度(准确率),精确率和召回率的计算公式:
Accuracy = (4+9990) /10000=99.94%
Precision = 4/(4+5)= 44.44%
Recall = 4/(4+1) = 80.00%
F1-score=2×(44.44% × 80%)/(1×44.44%+80%)=57.13%
F2-score=5× (44.44% × 80%)/(4×44.44%+80%)=68.96%
Kappa系数是一个用于一致性检验的指标,也可以用于衡量分类的效果。因为对于分类问题,所谓一致性就是模型预测结果和实际分类结果是否一致。kappa系数的计算是基于混淆矩阵的,取值为-1到1之间,通常大于0。基于混淆矩阵的kappa系数计算公式如下:
其中:
,其实就是acc。
即所有类别分别对应的“实际与预测数量的乘积”,之总和,除以“样本总数的平方”。
①为什么使用Kappa系数?
分类问题中,最常见的评价指标是acc,它能够直接反映分正确的比例,同时计算非常简单。但是实际的分类问题种,各个类别的样本数量往往不太平衡。在这种不平衡数据集上如不加以调整,模型很容易偏向大类别而放弃小类别(eg: 正负样本比例1:9,直接全部预测为负,acc也有90%。但正样本就完全被“抛弃”了)。此时整体acc挺高,但是部分类别完全不能被召回。
这时需要一种能够惩罚模型的“偏向性”的指标来代替acc。而根据kappa的计算公式,越不平衡的混淆矩阵, 越高,kappa值就越低,正好能够给“偏向性”强的模型打低分。
②kappa系数计算示例
混淆矩阵:
学生实际的成绩评级和预测的成绩评级
将 和 代入 即可。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-12-23 06:50
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社