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

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

前言

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

1 错误率与精度

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

2 准确率与召回率

2.1 混淆矩阵

以二分类问题为例,介绍一个重要的定义: 混淆矩阵,如下图所示

【数学建模】分类问题的几种常见指标(一)——准确率、召回率、F1值
假设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)是指被分类器判定为正类的样本中真正的正类样本所占的比重,即被分类器判为正类的所有样本中有多少是真正的正类样本,其公式定义见以下公式

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

2.3 召回率(Recall)

召回率是指被分类器正确判定的正类样本占总的正类样本的比重,即所有正类样本中有多少被分类器判为正类样本,定义如以下公式:

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

; 3 F1值(F1-score)

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

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

4 代码实现

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

  • 假设有A类样本10个,B类样本5个,A类样本用1表示,B类样本用0表示。
  • 正确预测A类样本7个,正确预测B类样本3个
    所以混淆矩阵的具体表示如下:
    【数学建模】分类问题的几种常见指标(一)——准确率、召回率、F1值
  • 准确率 Precision = TP/(TP+FP) = 7/(7+2) = 0.78
  • 召回率 Recall = TP/(TP+FN) =7/(7+3) = 0.7
  • F1值 F1 = 2 _Precision_Recall/(Precision+Recall) = 0.74

以下为代码实现:

from sklearn.metrics import precision_score, recall_score, f1_score

y_train = [1,1,1,1,1,1,1,1,1,1,0,0,0,0,0]

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)

执行结果如下图所示:

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

Original: https://blog.csdn.net/qq_44319167/article/details/124511889
Author: 一川风絮千片雪
Title: 【数学建模】分类问题的几种常见指标(一)——准确率、召回率、F1值

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/662779/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球