张伟
更好理解F1分数和Kappa系数
2021-10-22 21:54
阅读:814

推荐两个帖子:

https://blog.csdn.net/qq_16488989/article/details/109090801

https://zhuanlan.zhihu.com/p/67844308

(1)F1分数(F1-Score)

        精确率(Precision)和召回率(Recall)评估指标,理想情况下做到两个指标都高当然最好,但一般情况下,Precision高,Recall就低,Recall高,Precision就低。

image.png

        所以在实际中常常需要根据具体情况做出取舍,例如一般的搜索情况,在保证召回率的条件下,尽量提升精确率。而像癌症检测、地震检测、金融欺诈等,则在保证精确率的条件下,尽量提升召回率。

        引出了一个新的指标F-score,综合考虑Precision和Recall的调和值。

        · 当β=1时,称为 F1-score或者 F1-Measure,这时,精确率和召回率都很重要,权重相同。

        · 当有些情况下,我们认为精确率更重要些,那就调整β的值小于1,

        · 如果我们认为召回率更重要些,那就调整β的值大于1。

        常见的F1分数**(F1-Score**)计算公式如下:

image.png

        举个例子:某地区新冠病毒检查数据样本有10000个,其中5个样本核酸检测呈阳性,其它多次检测都是阴性。假设分类模型在多次检测都是阴性的数据9995中预测正确了9990个,在5个核酸检测呈阳性数据中预测正确了4个,此时TP(正->正)=4,TN(负->负)=9990,FP(负->正)=5,FN(正->负)=1。

注:这里正类表示核酸检测呈阳性,负类表示多次检测呈阴性。

        根据准确度(准确率),精确率和召回率的计算公式:

image.png

        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%

(2)Kappa系数

        Kappa系数是一个用于一致性检验的指标,也可以用于衡量分类的效果。因为对于分类问题,所谓一致性就是模型预测结果和实际分类结果是否一致。kappa系数的计算是基于混淆矩阵的,取值为-1到1之间,通常大于0。基于混淆矩阵的kappa系数计算公式如下:

[公式]

其中:

[公式] ,其实就是acc

[公式] 

即所有类别分别对应的“实际与预测数量的乘积”,之总和,除以“样本总数的平方”

①为什么使用Kappa系数?        

        分类问题中,最常见的评价指标是acc,它能够直接反映分正确的比例,同时计算非常简单。但是实际的分类问题种,各个类别的样本数量往往不太平衡。在这种不平衡数据集上如不加以调整,模型很容易偏向大类别而放弃小类别(eg: 正负样本比例1:9,直接全部预测为负,acc也有90%。但正样本就完全被“抛弃”了)。此时整体acc挺高,但是部分类别完全不能被召回

        这时需要一种能够惩罚模型的“偏向性”的指标来代替acc。而根据kappa的计算公式,越不平衡的混淆矩阵, [公式] 越高,kappa值就越低,正好能够给“偏向性”强的模型打低分。

②kappa系数计算示例

        混淆矩阵:

        学生实际的成绩评级和预测的成绩评级

[公式]

[公式]

将 [公式] 和 [公式]代入 [公式] 即可。

转载本文请联系原作者获取授权,同时请注明本文来自张伟科学网博客。

链接地址:https://wap.sciencenet.cn/blog-3428464-1309052.html?mobile=1

收藏

分享到:

当前推荐数:0
推荐到博客首页
网友评论0 条评论
确定删除指定的回复吗?
确定删除本博文吗?