【数学建模】分类问题的几种常见指标(一)——准确率、召回率、F1值

分类问题的几种常见指标(一)——错误率、精度、准确率、召回率、F1值

前言

分类问题是数学建模和大数据竞赛中几大常见题型之一。评价分类效果的指标有错误率、精度、准确率(precision,也称之查准率)、召回率(recall,也称之查全率)、F1-Score、ROC曲线、AUC和对数损失(logloss)等。这些指标都可以评价一个模型的好坏,其之间也有许多关联,需要针对具体题目场景来选择评价指标。本节主要介绍错误率、精度、准确率、召回率、F1值这几种评价指标。

1 错误率与精度

在分类问题中,错误率是分类结果错误的样本数占样本总数的比例,精度则是分类结果正确的样本数占样本总数的比例。即,错误率 = 1–精度。

2 准确率与召回率

2.1 混淆矩阵

以二分类问题为例,介绍一个重要的定义:混淆矩阵,如下图所示
在这里插入图片描述
假设A类为Positive,正例(阳性);B类为Negative,反例(阴性),则

  • Ture Positive(TP):预测对了(T),预测结果为A(阳性-P),原类别为A;
  • False Positive(FP):预测错了(F),预测结果为A(阳性-P),原类别为B;
  • False Negative(FN):预测错了(F),预测结果为B(阴性-N),原类别为A;
  • Ture Negative(TN):预测对了(T),预测结果为B(阴性-N),原类别为B。
    总而言之,混淆矩阵的字母代表该次预测的对的还是错的(T/F)和预测结果是正例还是反例(P/N),进而就可以推断原来的类别是什么。(比如FN,预测的是类别B,预测错了,那原来的类别就是A)

2.2 准确率(Precision)

准确率(Precision)是指被分类器判定为正类的样本中真正的正类样本所占的比重,即被分类器判为正类的所有样本中有多少是真正的正类样本,其公式定义见以下公式
在这里插入图片描述

2.3 召回率(Recall)

召回率是指被分类器正确判定的正类样本占总的正类样本的比重,即所有正类样本中有多少被分类器判为正类样本,定义如以下公式:
在这里插入图片描述

3 F1值(F1-score)

准确率和召回率反映了分类器性能的两个方面,单依靠其中一个并不能较为全面地评价一个分类器的性能。一般来说,鱼与熊掌不可兼得,你的准确率越高,召回率越低;反之,召回率越高,准确率越低。继而为了平衡准确率和召回率的影响,较为全面地评价一个分类器,便有了 F1-score 这个综合了这两者的指标。
在这里插入图片描述

4 代码实现

构建一个计算准确率、召回率和 F1-score 的评价代码也很简单,具体实现代码如下:

  • 假设有A类样本10个,B类样本5个,A类样本用1表示,B类样本用0表示。
  • 正确预测A类样本7个,正确预测B类样本3个
    所以混淆矩阵的具体表示如下:
    在这里插入图片描述
  • 准确率 Precision = TP/(TP+FP) = 7/(7+2) = 0.78
  • 召回率 Recall = TP/(TP+FN) =7/(7+3) = 0.7
  • F1值 F1 = 2PrecisionRecall/(Precision+Recall) = 0.74

以下为代码实现:

from sklearn.metrics import precision_score, recall_score, f1_score
# 假设有A类样本10个,B类样本5个
y_train = [1,1,1,1,1,1,1,1,1,1,0,0,0,0,0]
# 正确预测A类样本7个,正确预测B类样本3个
y_pred = [1,1,1,1,1,1,1,0,0,0,1,1,0,0,0]

precision = precision_score(y_train, y_pred)
recall = recall_score(y_train, y_pred)
f1 = f1_score(y_train, y_pred)

print('准确率为:', precision)
print('召回率为:', recall)
print('F1值为:', f1)

执行结果如下图所示:
在这里插入图片描述

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一川风絮千片雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值