ML分类模型的评估量 —— 混淆矩阵、查准率、查全率、正确率、F1值

ML分类模型的评估量 —— 混淆矩阵、查准率、查全率、正确率、F1值

Some Metrics suitable for machine learning classification model - Confusion Matrix, Precision Score, Recall Score and F1 Score.

概要

本文意在介绍,监督学习(Supervised Learning)中,几个常被用于评估分类模型指标(model metric),并讨论它们在二分类模型和多分类模型中的具体计算方法。
在这里插入图片描述

图 1

1. 混淆矩阵(Confusion Matrix)

混淆矩阵(Confusion Matrix)是一个 n*n 的方阵,n的值等于数据集类别的数量。

二分类模型的混淆矩阵

如图 2 所示,该 2*2 方阵是一个典型的二分类模型的混淆矩阵,该模型中只有 positive 和 negative 两个类别(标签):

在这里插入图片描述

图 2 - 二分类模型的混淆矩阵

TP (True Positive)表示真实值为Positive,模型的预测值为Positive的数据样本数量;

FP (False Positive)表示真实值为Negative,模型的预测值为Positive的数据样本数量;

FN (False Negative)表示真实值为Positive,模型的预测值为Negative的数据样本数量;

TN (True Negative)表示真实值为Negative,模型的预测值为Negative的数据样本数量;

此处的 [True/False Positive/Negative]可以这样理解:“主语” Positive/Negative 描述了模型的预测值,而“形容词” True/False 描述的是预测值与真实值是否一致,一致为True,否则为False。

此外,从【图2】中我们不能发现,混淆矩阵的列(column)表示数据被模型预测的类别(prediction label);混淆矩阵的行(row)表示数据的真实类别(true label)。以及,混淆矩阵每一列的总和表示数据中被模型预测为该类的样本数量;混淆矩阵每一行的总和表示数据中真实标签为该类的样本数量。

多分类模型的混淆矩阵

上方【图2】是二分类模型的混淆矩阵,下方【图3】将混淆矩阵推广到多分类模型:

在这里插入图片描述

图 3 - 多分类模型的混淆矩阵

【图3】为一个n*n的混淆矩阵,该混淆矩阵包含了n个类别(标签),label_1、label_2、… 、label_n ,其中标黄的位置表示被正确分类的样本数量,相当于【图2】中的TP和TN。

2. 查准率(Precision Score)又称 “准确率”

查准率(Precision)描述的模型预测的结果中有多少比例的样本是被正确预测的。

对于二分类模型,一般采用Positive(+)的查准率作为整个模型的评估量:

P + = T P T P + F P P_{+} = \frac{TP}{TP + FP} P+=TP+FPTP

宏查准率 & 微查准率

类似的,将查准率推广到多分类模型。

首先,每个label都有对应的查准率:

P l a b e l _ k = C k k ∑ 1 ≤ i ≤ n ;    j = k C i j , ( 1 ≤ k ≤ n ) P_{label\_k} = \frac{C_{kk}}{\sum_{1 \leq i \leq n; \;j = k} C_{ij}}, \quad(1 \leq k \leq n) Plabel_k=1in;j=kCijCkk,(1kn)
其次,存在两种适用于整个模型的查准率评估量,它们分别是下方【式3】描述的宏查准率(macro precision)和下方【式4】描述的微查准率(micro precision)

宏查准率,先计算出混淆矩阵中个类别的查准率,然后计算均值。

P m a c r o = 1 n ∑ 1 ≤ k ≤ n P l a b e l _ k P_{macro} = \frac{1}{n} \sum_{1 \leq k \leq n} P_{label\_k} Pmacro=n11knPlabel_k

微查准率,先对混淆矩阵的“对角线元素”和“元素的和”计算均值,然后在计算查准率。

P m i c r o = 1 n ∑ 1 ≤ k ≤ n C k k 1 n ∑ 1 ≤ k ≤ n ( ∑ 1 ≤ i ≤ n ;    j = k C i j ) P_{micro} = \frac{\frac{1}{n} \sum_{1 \leq k \leq n} C_{kk}}{\frac{1}{n} \sum_{1 \leq k \leq n} (\sum_{1 \leq i \leq n; \;j = k} C_{ij}) } Pmicro=n11kn(1in;j=kCij)n11knCkk

相比之下,当不同类别间的样本数量不平衡时,微查准率可以涵盖样本数量不均的信息;对于宏查准率而言,每个类别的查准率对整个模型的查准率的贡献量是相同的,所以它无法体现不同类别间样本数量不均的信息

3. 查全率(Recall Score)又称 “召回率”

查全率(Recall)描述的是数据集中有多少比例的样本被模型正确预测。

对于二分类模型,一般采用Positive(+)的查全率作为整个模型的评估量:

R + = T P T P + F N R_{+} = \frac{TP}{TP + FN} R+=TP+FNTP

宏查全率 & 微查全率

类似的,将查全率推广到多分类模型。

首先,每个label都有对应的查准率:

R l a b e l _ k = C k k ∑ i = k ;    1 ≤ j ≤ n C i j , ( 1 ≤ k ≤ n ) R_{label\_k} = \frac{C_{kk}}{\sum_{i = k; \;1 \leq j \leq n} C_{ij}}, \quad(1 \leq k \leq n) Rlabel_k=i=k;1jnCijCkk,(1kn)
其次,同样存在两种适用于整个模型的查全率评估量,它们分别是下方【式7】描述的宏查全率(macro recall)和下方【式8】描述的微查全率(micro recall)

宏查全率,先计算出混淆矩阵中个类别的查准率,然后计算均值。

R m a c r o = 1 n ∑ 1 ≤ k ≤ n R l a b e l _ k R_{macro} = \frac{1}{n} \sum_{1 \leq k \leq n} R_{label\_k} Rmacro=n11knRlabel_k

微查全率,先对混淆矩阵的对“角线元素”和“元素的和”计算均值,然后在计算查准率。

R m i c r o = 1 n ∑ 1 ≤ k ≤ n C k k 1 n ∑ 1 ≤ k ≤ n ( ∑ i = k ;    1 ≤ j ≤ n C i j ) R_{micro} = \frac{\frac{1}{n} \sum_{1 \leq k \leq n} C_{kk}}{\frac{1}{n} \sum_{1 \leq k \leq n} (\sum_{i = k; \;1 \leq j \leq n} C_{ij}) } Rmicro=n11kn(i=k;1jnCij)n11knCkk

与宏/微查准率同理,微查全率可以涵盖样本数量不均的信息;宏查全率无法体现不同类别间样本数量不均的信息。

4. 正确率(Accuracy Score)

正确率(Accuracy)描述的整个数据集中被正确预测的比例,它的数学表达式如下:

A = T P + T N T P + T N + F P + F N A = \frac{TP + TN}{TP + TN + FP + FN} A=TP+TN+FP+FNTP+TN

A = ∑ 1 ≤ k ≤ n C k k ∑ 1 ≤ i ≤ n ;    1 ≤ j ≤ n C i j A = \frac{\sum_{1 \leq k \leq n} C_{kk}} {\sum_{1 \leq i \leq n; \; 1 \leq j \leq n} C{ij}} A=1in;1jnCij1knCkk

【式9】对应二分类模型的混淆矩阵,【式10】对应多分类模型的混淆矩阵

5. F1值

查准率(Precision)和差全率(Recall)往往是一对矛盾的度量。一般来说,查准率较高时,查全率会较低,而查全率较高时,查准率较低。

我们可以采用一种较为极端的想法来理解这一现象,当模型将数据集中的所有样本都预测为某一特定类别时,该类别的查准率最高(等于1),同时该类别的查全率最低(因为存在大量样本被错误预测)。

为此,常采用F1值来作为模型的评估量,这是一个结合了查准率(Precision)和查全率(Recall)的量:

F 1 m a c r o = 2 × P m a c r o × R m a c r o P m a c r o + R m a c r o F1_{macro} = \frac{2 \times P_{macro} \times R_{macro}}{P_{macro} + R_{macro}} F1macro=Pmacro+Rmacro2×Pmacro×Rmacro

F 1 m i c r o = 2 × P m i c r o × R m i c r o P m i c r o + R m i c r o F1_{micro} = \frac{2 \times P_{micro} \times R_{micro}}{P_{micro} + R_{micro}} F1micro=Pmicro+Rmicro2×Pmicro×Rmicro

【式11】为宏F1值,【式12】为微F1值。

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 首先需要明确的是,这里提到的“这2种分类器”指的是什么分类器,因为并未明确指出。假设指的是逻辑回归分类器和决策树分类器,下面列出使用这两种分类器时三类鸢尾花各自的查准率查全率F1。 假设三类鸢尾花分别为“setosa”、“versicolor”和“virginica”。 对于逻辑回归分类器: - setosa的查准率为1.0,查全率为1.0,F1为1.0 - versicolor的查准率为0.83,查全率为0.83,F1为0.83 - virginica的查准率为0.86,查全率为0.86,F1为0.86 对于决策树分类器: - setosa的查准率为1.0,查全率为1.0,F1为1.0 - versicolor的查准率为0.88,查全率为0.88,F1为0.88 - virginica的查准率为0.85,查全率为0.85,F1为0.85 需要注意的是,这里给出的结果仅是一个示例,实际上结果会因为所使用的数据集、特征选择、模型参数等不同而有所不同。 ### 回答2: 在使用两种分类器(如逻辑回归和支持向机)对鸢尾花进行分类时,可以计算出每种分类器对于三类鸢尾花的查准率查全率F1。以下是列出鸢尾花三类的评估指标: 分类器1(例如逻辑回归): 1. 鸢尾花类别1的查准率查全率F1。 2. 鸢尾花类别2的查准率查全率F1。 3. 鸢尾花类别3的查准率查全率F1分类器2(例如支持向机): 1. 鸢尾花类别1的查准率查全率F1。 2. 鸢尾花类别2的查准率查全率F1。 3. 鸢尾花类别3的查准率查全率F1。 每个类别的查准率(precision)指分类器将该类别正确分类的样本数与所有被分类为该类别的样本数的比例。查全率(recall)指分类器将该类别正确分类的样本数与所有属于该类别的样本数的比例。F1查准率查全率综合考虑,是两者的调和平均。 具体数在问题中没有给出,因此无法具体回答每个类别的查准率查全率F1。但通过计算这些指标,可以得到一个关于分类器性能的评估评估表明分类器在每个类别上的分类准确性如何。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值