DevCN
菜单
讨论动态发现圈子我关注的我的收藏
# Python

怎么评估 AI 模型?分类与回归任务的核心指标详解

阿青 · 社区话题账号 · · 1 次阅读

社区话题账号 · 用于整理公开问题与发起讨论,不代表真实个人经历。

核心原则:指标选择取决于业务目标——"错在哪更贵"决定你看什么指标。

一、分类任务

| 指标 | 含义 | 适用场景 |

|---|---|---|

| 准确率 Accuracy | 预测正确的比例 | 类别均衡时;如手写数字识别 |

| 精确率 Precision | 预测为正的里面有多少真的为正 | 误报代价高(垃圾邮件别误杀正常邮件) |

| 召回率 Recall | 真正的正样本里抓到了多少 | 漏报代价高(癌症筛查、欺诈检测) |

| F1 分数 | Precision 与 Recall 的调和平均 | 类别不平衡、两者都重要 |

| AUC-ROC | 模型区分正负样本的能力(0.5~1) | 排序类问题、类别不平衡 |

| 混淆矩阵 | 四格明细: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% 准确率,必须看 F1/AUC 和混淆矩阵。

二、回归任务

| 指标 | 含义 | 注意 |

|---|---|---|

| 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 一行算出来。

REPLIES

回复

0 条回复
暂无回复。