当前位置:   article > 正文

不平衡数据集中多分类问题下的准确率、精度、召回率以及F1-score的计算_数据集分类的准确率怎么计算

数据集分类的准确率怎么计算

声明:本文为作者学习笔记,学习所得随手而记,部分材料来源于网上学习,若侵权请联系作者。

       前面我们已经介绍了不平衡数据集中二元分类问题下的多个度量指标,例如:精度、召回率等。但是在现实生活中,我们要解决的问题往往是多分类问题,那对于多分类问题我们应如何利用这些度量,则是本篇文章要解决的问题。

多分类问题下的准确率、精度、召回率、F1值

       我们一共选择以下四个度量来进行分析,我们重申一下定义。

(1)准确率(Accuracy):正确分类的样本个数占总样本的个数,即:

Accuracy=\frac{TP+TN}{TP+TN+FP+FN}

(2)精度(precision):精度确定在分类器中预测为正类的记录中实际为正类记录所占的比例,即:

P=\frac{TP}{TP+FP}

(3)召回率(recall):召回率度量被分类器正确预测的正样本的比例,即:

r=\frac{TP}{TP+FN}

(4)F1-score:精度和召回率的合并度量,即:

F1=\frac{2*TP}{2*TP+FN+FP}

例子

       我们接下来结合一个例子来具体说明,如混淆矩阵所示,我们设定一个三分类的情景,具体的数值如下所示:

三分类的混淆矩阵
预测
类1类2类3
实际类14320
类25451
类323

49

       在混淆矩阵中,每一行之和表示该类别的真实样本数量,每一列之和表示被预测为该类别的样本数量。通过这个混淆矩阵我们就可以计算它每一个类别的精度、召回率以及F1等:

       首先,我们先计算准确率(Accuracy),由上述混淆矩阵可以看出,对角线上的数值为正确分类的样本数目(已标记为红),则计算为:

     Accuracy=\frac{43+45+49}{43+2+0+5+45+1+2+3+49}=0.9133

       可以得出准确率为0.9133。

       其次,我们针对不同的类别进行度量计算,我们以类1为例。

       对于类1:我们将分类1当作正样本,其余则为负样本。则可以转换为如下的混淆矩阵:

类1—混淆矩阵
预测
类1负样本
实际类1TP=43FN=2
负样本FP=7TN=98

精度计算:

p=\frac{TP}{TP+FP}=\frac{43}{43+7}=0.86

召回率计算:

p=\frac{TP}{TP+FN}=\frac{43}{43+2}=0.9556

F1-score计算:

F1=\frac{2*r*p}{r+p}=\frac{2*0.86*0.9556}{0.86+0.9556}=0.9053

其他类别的计算也可按照如上进行。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/142977
推荐阅读
相关标签
  

闽ICP备14008679号