郭震 AI公众号:郭震AI

19 文本分类之评价指标

发布日期:

最近更新:

分类: NLP小白

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点7 个
图文要点6 张
正文规模1.9k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 7 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

文本分类评价指标流程图查看大图
文本分类评价指标流程图

文本分类不能只看准确率。类别不均衡、漏判代价和误判代价不同,都会改变应该优化的指标。

文本分类评价指标实操核对图查看大图
文本分类评价指标实操核对图

我会把指标和业务损失绑定起来。垃圾内容审核更怕漏掉,自动回复更怕误触发,指标选择应不同。

在前一篇中,我们讨论了文本分类的常用算法,如逻辑回归、支持向量机(SVM)和深度学习模型等。文本分类是自然语言处理(NLP)中的一项重要任务,例如垃圾邮件检测、情感分析和主题分类等。在这篇文章中,我们将深入探讨文本分类的评价指标,帮助我们更好地理解模型的性能。

常用评价指标

在文本分类任务中,我们通常使用以下几种评价指标来评估模型的效果:

文本分类评价指标判断卡查看大图
文本分类评价指标判断卡

选择文本分类评价指标时,先看 precision、recall、F1、混淆矩阵、类别分布和业务误判成本。

准确率(Accuracy)

准确率是最常见的评价指标之一,定义为:

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

其中:

  • TP(True Positives):真正例,模型正确预测为正类的样本数。
  • TN(True Negatives):真负例,模型正确预测为负类的样本数。
  • FP(False Positives):假正例,模型错误预测为正类的样本数。
  • FN(False Negatives):假负例,模型错误预测为负类的样本数。

案例:假设我们有一个情感分析的模型,预测结果如下:

实际值 预测值
正向 正向
正向 负向
负向 正向
负向 负向

从表中我们可以得出:

  • TP = 1, TN = 1, FP = 1, FN = 1

代入公式计算准确率:

Accuracy=1+11+1+1+1=24=0.5\text{Accuracy} = \frac{1 + 1}{1 + 1 + 1 + 1} = \frac{2}{4} = 0.5

精准率(Precision)

精准率用于衡量模型预测为正类的样本中有多少是真正的正类,定义为:

Precision=TPTP+FP\text{Precision} = \frac{\text{TP}}{\text{TP} + \text{FP}}

案例:继续使用前面的表格,代入公式计算精准率:

Precision=11+1=12=0.5\text{Precision} = \frac{1}{1 + 1} = \frac{1}{2} = 0.5

召回率(Recall)

召回率又称灵敏度,衡量在所有实际为正类的样本中有多少被正确预测为正类,定义为:

Recall=TPTP+FN\text{Recall} = \frac{\text{TP}}{\text{TP} + \text{FN}}

案例:代入公式计算召回率:

Recall=11+1=12=0.5\text{Recall} = \frac{1}{1 + 1} = \frac{1}{2} = 0.5

F1-score

F1-score是精准率和召回率的调和平均数,用于平衡二者的重要性,定义为:

F1=2×Precision×RecallPrecision+RecallF1 = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}}

案例:代入计算F1-score:

F1=2×0.5×0.50.5+0.5=0.5F1 = 2 \times \frac{0.5 \times 0.5}{0.5 + 0.5} = 0.5

ROC曲线与AUC

接下来,我们介绍一种更全面的评价方式——接收者操作特征曲线(ROC)和曲线下面积(AUC)。

  • ROC曲线:绘制真阳性率(TPR)与假阳性率(FPR)的关系。
  • AUC:ROC曲线下的面积,取值范围为[0, 1],越接近1表示模型性能越好。

案例:下面是使用Python绘制ROC曲线的代码示例:

import numpy as np
import matplotlib.pyplot as plt
from sklearn.metrics import roc_curve, roc_auc_score

# 假设的真实标签和预测概率
y_true = np.array([1, 1, 0, 0, 1])
y_scores = np.array([0.9, 0.8, 0.4, 0.3, 0.7])

# 计算ROC曲线
fpr, tpr, thresholds = roc_curve(y_true, y_scores)
# 计算AUC
auc = roc_auc_score(y_true, y_scores)

# 绘制ROC曲线
plt.figure()
plt.plot(fpr, tpr, color='blue', label='ROC curve (area = %0.2f)' % auc)
plt.plot([0, 1], [0, 1], color='red', linestyle='--')
plt.xlim([0.0, 1.0])
plt.ylim([0.0, 1.0])
plt.xlabel('False Positive Rate')
plt.ylabel('True Positive Rate')
plt.title('Receiver Operating Characteristic')
plt.legend(loc="lower right")
plt.show()
文本分类之评价指标应用复盘卡查看大图
文本分类之评价指标应用复盘卡

如果《文本分类之评价指标》还没完全消化,可以从这张卡片的四个动作重新走一遍。

文本分类之评价指标应用检查卡查看大图
文本分类之评价指标应用检查卡

回看《文本分类之评价指标》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。

小结

在文本分类中,使用适当的评价指标能够帮助我们深入理解模型在不同方面的表现。准确率、精准率、召回率及F1-score等指标各有优缺点,了解这些指标的意义和用法可以帮助我们在实际应用中做出更好的选择。

自然语言处理阅读地图卡查看大图
自然语言处理阅读地图卡

阅读《文本分类之评价指标》前,可以先用配图确认主线;读完后再检查哪些步骤能直接操作,哪些还需要补资料。

在下一篇文章中,我们将讨论序列标注任务中的命名实体识别。希望通过本篇内容,您能更好地掌握文本分类的评价指标,从而优化和调整您的模型。

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

文本分类之评价指标适合谁读?

这是 自然语言处理入门 系列第 19 / 30 篇,适合正在学习自然语言处理入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇自然语言处理入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...