模型评估:过拟合、交叉验证与指标
看懂准确率、精确率、召回率,理解过拟合的成因与交叉验证,建立正确的模型评估观。
先分对三套数据
- 训练集:模型学习的材料;
- 验证集:调参时用;
- 测试集:最终考试,只在最后碰一次。
过拟合与欠拟合
- 过拟合:训练集 99 分、测试集 60 分 —— 模型把训练数据"背下来"了。药方:更多数据、正则化、简化模型、早停;
- 欠拟合:训练集也只有 65 分 —— 模型太简单学不动。药方:加特征、换更强的模型。
分类指标:别只看准确率
欺诈检测里"99% 都不是欺诈",全猜"不是"准确率也有 99% —— 所以需要:
- 精确率(Precision):报为欺诈的里面,真欺诈占多少(误报成本高就看它);
- 召回率(Recall):真欺诈里面,被抓住了多少(漏报成本高就看它);
- F1:两者的调和平均。
交叉验证
from sklearn.model_selection import cross_val_score
scores = cross_val_score(model, X, y, cv=5) # 5 折交叉验证
print(scores.mean(), scores.std())
数据少时把数据切 5 份轮流当验证集,评估更稳。这套评估思想完全适用于 LLM 应用:本站反复强调的"评测集 + 回归测试",就是 ML 评估观在 LLM 工程的延续。
📝 课后练习
quiz-1 欺诈检测中欺诈样本只占 1%,为什么不能只看准确率?