模型评估指标中分类评价指标(acc,recall ,precision,F1,fusion matrix, kappa,roc)

本文主要梳理不同类型的分类评价指标原理。先介绍了Accuracy、Precision、recall等概念及计算示例,还提到F值、ROC用于评判二分类模型性能,混淆矩阵可计算多标签情况,Kappa系数用于一致性检验和判断分类精度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

         通常我们在构建模型之后都会涉及到一个模型的精度评价。针对不同的模型由主要可以分回归评价指标和分类评价指标,本文主要是想梳理一下各种不同类型的分类评价指标原理。


分类评价指标

在了解二分类之前需要先了解下面四个概念

TP(正确预测正分类结果)FP(错误预测正分类结果)
TN(正确预测负分类结果)FN(错误预测负分类结果

Accuracy(总体分类精度):预测正确的样本数 / 所有的样本数

    accuracy =\frac{ (tp+tn)}{tp+fp+tn+fn}

Precision(精确度):正确预测正分类的样本数 / 预测为正样本的样本数 

你真正预测对的正样本占了所有正样本的比例,就是预测对了的占比如何

precision = \frac{tp}{tp+fp}   

recall(召回率):正确预测正分类的样本数 / 所有正样本数

简单来说:你真正预测对的正样本占了你预测的所有正样本的比例,考虑的是预测错了占比如何

recall = \frac{tp}{tp+fn}

比如我有10张图,5张猫,5张狗,我全部预测为猫,猫预测全对,猫的召回:5/(5+0)=100%,猫的精度:5/(5+5)=50%。同理,剩下5张狗也也预测为了猫,狗的召回:0/(5+0) = 0%,狗的精度:0%

F值:综合precision和recall得分,是precision和recall的调和均值,当中的\beta通常取0.5 ,1 , 2 代表精确度的权重占比

F_{\beta } = (1+\beta^{2} )\frac{precision\times recall} {\beta^{2} precision + recall}      

ROC 全称 Receiver operating characteristic,作为一个图形,随着判断阈值的变化,常用于评判二分类模型的性能,横纵表FPR(false positive rate) = FP/(FP+TN) 表示在所有实际为负类的样本中,被错误的判断为正类的比率;纵坐标TDR(True positive rate) = TP/(TP+FN) 表示在所有实际为正类的样本中,被正确的判断为正类的比率。通常来说,横坐标越小,纵坐标的值越大,ROC的面积越大,模型的效果也就越好,python代码详见Receiver Operating Characteristic (ROC) — scikit-learn 1.1.1 documentation

混淆矩阵(Multilabel confusion matrix)计算多标签的混淆矩阵,再多分类任务中,标签以“一对多”的方式进行二值化:

confusion matrix

预测值
类别1类别2类别3
真实值类别1abc
类别2def
类别3ghi

表中的a,e,i表示正确分类,类别1的precision= a/(a+d+g)  ,类别1的recall = a/(a+b+c),类别2,类别3的precision和recall同理。

Kappa:kappa系数常用于一致性检验,也用于判断分类精度,kappa系数的计算通常是基于混淆矩阵的,kappa精度评价参考每日一学 kappa系数_阿尔卑斯山脉的小菇凉的博客-CSDN博客_kappa系数

K = \frac{p_{o}-p_{e}}{1-p_{e}}

混淆矩阵中正确分类的样本数(对角线的值)除以所有样本数 :p_{o} = \frac{a+e+i}{a+b+c+d+e+f+g+h+i}   

混淆矩阵中每一类的真实值于每一类的预测值相乘求和 /  (总样本数) ^2: 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值