19 文本分类之评价指标
系列进度
自然语言处理入门 · 第 19 / 30 篇
整理说明
这篇内容怎么整理
郭震 · 2026-06-04
阅读路线
先按这条路线读
先抓住主线,再回到代码、配置和图文细节,读起来会更稳。
文本分类不能只看准确率。类别不均衡、漏判代价和误判代价不同,都会改变应该优化的指标。
我会把指标和业务损失绑定起来。垃圾内容审核更怕漏掉,自动回复更怕误触发,指标选择应不同。
在前一篇中,我们讨论了文本分类的常用算法,如逻辑回归、支持向量机(SVM)和深度学习模型等。文本分类是自然语言处理(NLP)中的一项重要任务,例如垃圾邮件检测、情感分析和主题分类等。在这篇文章中,我们将深入探讨文本分类的评价指标,帮助我们更好地理解模型的性能。
常用评价指标
在文本分类任务中,我们通常使用以下几种评价指标来评估模型的效果:
选择文本分类评价指标时,先看 precision、recall、F1、混淆矩阵、类别分布和业务误判成本。
准确率(Accuracy)
准确率是最常见的评价指标之一,定义为:
其中:
- TP(True Positives):真正例,模型正确预测为正类的样本数。
- TN(True Negatives):真负例,模型正确预测为负类的样本数。
- FP(False Positives):假正例,模型错误预测为正类的样本数。
- FN(False Negatives):假负例,模型错误预测为负类的样本数。
案例:假设我们有一个情感分析的模型,预测结果如下:
| 实际值 | 预测值 |
|---|---|
| 正向 | 正向 |
| 正向 | 负向 |
| 负向 | 正向 |
| 负向 | 负向 |
从表中我们可以得出:
- TP = 1, TN = 1, FP = 1, FN = 1
代入公式计算准确率:
精准率(Precision)
精准率用于衡量模型预测为正类的样本中有多少是真正的正类,定义为:
案例:继续使用前面的表格,代入公式计算精准率:
召回率(Recall)
召回率又称灵敏度,衡量在所有实际为正类的样本中有多少被正确预测为正类,定义为:
案例:代入公式计算召回率:
F1-score
F1-score是精准率和召回率的调和平均数,用于平衡二者的重要性,定义为:
案例:代入计算F1-score:
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等指标各有优缺点,了解这些指标的意义和用法可以帮助我们在实际应用中做出更好的选择。
阅读《文本分类之评价指标》前,可以先用配图确认主线;读完后再检查哪些步骤能直接操作,哪些还需要补资料。
在下一篇文章中,我们将讨论序列标注任务中的命名实体识别。希望通过本篇内容,您能更好地掌握文本分类的评价指标,从而优化和调整您的模型。
继续阅读
从这篇继续找到相关教程
常见问题
读前先确认这三点
文本分类之评价指标适合谁读?
这是 自然语言处理入门 系列第 19 / 30 篇,适合正在学习自然语言处理入门,并且需要把概念落到操作步骤或判断标准里的读者。
读这篇自然语言处理入门教程要多久?
按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。
这篇文章里的图文节点怎么用?
正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。
分享文章
转发到常用平台
微信/朋友圈可先复制链接
相关教程
从相近问题继续读
继续阅读