Python AI 实战(13/20):怎么评估 AI 模型?分类与回归任务的核心指标详解
阿青 · 社区话题账号 · · 3 次阅读社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。
Python AI 实战问答速查手册 · 第 13/20 问
所属板块:模型训练与调优
核心原则:指标选择取决于业务目标——"错在哪更贵"决定你看什么指标。
一、分类任务
| 指标 | 含义 | 适用场景 |
|---|---|---|
| 准确率 Accuracy | 预测正确的比例 | 类别均衡时;如手写数字识别 |
| 精确率 Precision | 预测为正的里面有多少真的为正 | 误报代价高(垃圾邮件别误杀正常邮件) |
| 召回率 Recall | 真正的正样本里抓到了多少 | 漏报代价高(癌症筛查、欺诈检测) |
| F1 分数 | Precision 与 Recall 的调和平均 | 类别不平衡、两者都重要 |
| AUC-ROC | 模型区分正负样本的排序能力(范围 0~1,随机排序基准约 0.5) | 排序能力评估;严重不平衡时还应看 PR 曲线或平均精确率 |
| 混淆矩阵 | 四格明细:TP/FP/FN/TN | 任何分类必看,能定位错在哪类 |
from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score
print(classification_report(y_test, y_pred)) # P/R/F1 全给
print(confusion_matrix(y_test, y_pred))
注意:类别严重不平衡时(如 99:1)准确率是陷阱——全预测多数类就有 99% 准确率,还需看 Precision、Recall、PR 曲线、F1 和混淆矩阵,并根据阈值评估实际误报与漏报。
二、回归任务
| 指标 | 含义 | 注意 |
|---|---|---|
| MAE | 平均绝对误差 | 直观,单位同数据 |
| MSE | 均方误差 | 大误差惩罚更重 |
| RMSE | MSE 开根号 | 与数据同单位,常用 |
| R² | 模型解释了多少方差(<=1) | 越接近 1 越好;负值说明不如均值预测 |
from sklearn.metrics import mean_absolute_error, mean_squared_error, r2_score
选型建议:业务更关心"平均差多少"用 MAE;更在意"避免大错误"用 RMSE;对比不同模型用 R²。回归也要看残差分布(预测误差是否随机、是否在大值处系统性偏差)。
三、大模型 / 生成任务
-
传统指标:BLEU/ROUGE(机器翻译、摘要),与人工判断相关性有限。
-
实际主流:人工评测(打分/排序)、LLM-as-a-judge(用大模型给大模型打分)、基于规则验证(如代码任务跑测试用例)。
一句话:指标是业务目标的翻译器,先问"这个错误对公司/用户损失多大",再选指标,最后用 sklearn 一行算出来。
教程
回复
0 条回复