跳到主要内容

评估 — 正确率会骗人

这一章是全书前十章欠的账的总清算。 第 01 章警告过「正确率会骗人」, 第 02 章用过「训练误差/验证误差」,第 03 章说过「阈值可以调」——本章把这三笔账一起结清: 分类怎么评、回归怎么评、过拟合怎么防、超参数怎么挑。 原书定位它为「在实际使用机器学习时一定会帮上忙」的一章1

1. 顶层全景

模型打出的分数,先过三道安检:
① 分数对不对题?(分类和回归用的尺子完全不同)
② 数据允不允许这个分数说话?(不均衡时正确率失真)
③ 分数是在什么数据上算的?(训练数据上的分是自欺)
分类:混淆矩阵 → 精确率/召回率/F1 → 不均衡看 AUC
回归:均方误差 → 决定系数 R²
防过拟合:留出法 → 交叉验证;挑超参数:网格搜索

图说:三道安检对应本章三节;尺子选错,后面全白搭。

原书开列的评分尺子清单:分类用混淆矩阵(把真实类别与预测类别交叉对账的表)、正确率、精确率、召回率、F 值、AUC;回归用均方误差、决定系数2

2. 主走查:569 个病人,一台模型的四种结局

还是乳腺癌数据集。原书先做了一件值得单独学的事:把标签反转——恶性算 1(阳性)、良性算 0(阴性)。理由是行话与业务的 Alignment:实际诊疗中,检查的目标就是发现恶性肿瘤,把恶性当「阳性」更自然3

模型跑完,混淆矩阵(把「真实类别 × 预测类别」交叉汇总的表格)输出四个数4:

预测:良性 预测:恶性
真实:良性 TN = 341 FP = 16
真实:恶性 FN = 36 TP = 176

TN(真阴性):良性,也判了良性 → 判对
TP(真阳性):恶性,也判了恶性 → 判对
FP(假阳性):良性,却判成恶性 → 误报(虚惊一场)
FN(假阴性):恶性,却判成良性 → 漏报(放走敌人)

逐一清点(数字取自原书):
341 个良性判对了;176 个恶性判对了;
16 个良性被冤枉;36 个恶性被漏诊。

原书对这四个数的判读就是评估思维的样子:总体不错,但「有 36 条 FN 出现,说明有 36 个恶性患者被漏诊」——这一条比其他三条都刺眼5。四个数记不住没关系,原书给的是四个更顺口的衍生尺子6:

尺子算式这份数据的值回答的问题
正确率(TP+TN)/总数0.9086总体判对了几成
精确率TP/(TP+FP)0.9167报上来的恶性,多少是真恶性
召回率TP/(TP+FN)0.8302真恶性里,抓住了几成
F1(书里叫 F 值)2×(精确率×召回率)/(精确率+召回率)0.8713两者兼顾得如何

主走查走完,关键问题来了:0.9086 这个数,信还是不信?

3. 精确率与召回率:一对跷跷板

这两把尺子各有立场。精确率低意味着「报恶性的里面混着良性」——误报多,原书给的补救是制度性的:让被判恶性的再复查一轮就行,代价可控7召回率低意味着「真恶性大半被放走」——漏诊进肚子里,没有第二次机会。原书判词:「与精确率低的情况相比,召回率低的问题更严重」8

它们还是一对跷跷板:压这个,那个必然翘起来。两个都重要时看 F1——精确率与召回率的调和平均,谁太矮都拖累它9

但「哪个更要命」不是数学问题,是业务问题:垃圾邮件过滤宁可漏放(SPAM 进收件箱)不可误杀(正常邮件进垃圾桶),精确率优先;癌症筛查正相反,召回率优先。先答业务题,再选评分的尺子。

4. 调阈值:在跷跷板上换座位

模型内部算的其实是预测概率(第 03 章的 Sigmoid 输出),scikit-learn 的 predict 默认拿 0.5 一刀切10。原书把刀往下移到 0.1:恶性概率达到一成就报警11:

阈值 0.5 → 0.1 的账(数字取自原书):
FN:36 → 2 漏诊从 36 人降到 2 人
召回率:0.83 → 0.99
代价:FP:16 → 98 良性被冤枉的从 16 人涨到 98 人
正确率:0.9086 → 0.8242

图说:同一位模型,一个阈值的距离,两种人生。
漏诊几乎清零,代价是冤枉人数翻六倍、正确率掉 8 个百分点。

这张对照表是本章最值得记住的一张:评分尺子不是模型的属性,是「模型 × 阈值」这对组合的属性。评估报告里只写一个正确率而不写阈值,等于只报了半张表。

5. 不均衡数据:AUC 登场

跷跷板还没完,还有更狠的骗术。假设某数据 95 个阳性、5 个阴性,一个「闭眼全报阳性」的破模型,正确率高达 95%12。原书说这不是抬杠:「没有经过很好训练的模型因数据不均衡而计算出高正确率结果的情况经常出现」13

解药是 AUC(曲线下面积):先画 ROC 曲线——横轴假阳性率(FP 占比)、纵轴真阳性率(TP 占比),把报警阈值从 1 一路降到 0,每档阈值记一个点,连成曲线14;曲线下的面积就是 AUC。它衡量的是与阈值无关的整体判别力:随机抽一个阳性样本和一个阴性样本,模型给阳性打分更高的概率。

读数标准(原书口径):最大 1,最小 0;0.5 左右等于「和抛硬币随机决定没多大区别」15。乳腺癌数据 AUC 0.977——高,而且这次高得可信,因为它不看各类别多少条16。原书补了现实参照:广告点击预测这类两类数量悬殊的数据,「常常出现正确率为 0.99,但 AUC 只有 0.6 的情况」——正确率 0.99 配 AUC 0.6,就是「正确率高但只对了一半人」的标准长相;处理不均衡数据,用 AUC 当评分的尺子17

6. 回归的尺子:MSE 与决定系数

回归问题预测的是连续数,上面那套评分尺子全部失效。原书用波士顿房价数据演示:13 个特征里只取「住宅平均房间数」一列,线性回归学出 y = 9.10x − 34.67——房间数每多一间,预测房价涨 9.10;代入 5 间房,预测 10.8318

两把尺子19:

尺子这份数据的值怎么读
均方误差 MSE43.6平均差多远;但光看数值不知好坏——房价本身波动大,MSE 天然大
决定系数 R²0.4840 到 1,越接近 1 解释力越强;误差过大时可为负

原书点破两者的关系:「如果目标变量的方差较大,均方误差也会变大」,所以数量级不同的回归任务之间,MSE 没法横比;R² 剥掉了量纲,哪里都能比20。原书还用 SVR(支持向量机的回归版)演示了横向比较:线性回归 MSE 43.6/R² 0.484,SVR(默认配置)72.1/0.145 全面落败——但先别急着判 SVS 死刑:换组超参数(C=1.0、rbf 核),SVR 变成 36.4/0.569 反超21。一次配置的失败不是算法的失败,这句话是下一节的路引。

7. 防过拟合:先留出,再交叉验证

留出法:7 比 3

评估的铁律是打分必须用没参与训练的数据(第 01 章的伏笔在这里兑现)。最直接的做法是把数据切成训练与验证两份,原书示例 70%/30%,并说明比例没有硬规定:数据多可 6∶4,数据少保训练要 8∶222

留出法的威力,原书用一组对照实验讲透:同一份数据,只看训练集正确率,SVC 是满分 1.0,随机森林 0.997——SVC 更好?换到验证集,SVC 掉到 0.602,随机森林稳在 0.959。原书的判词:「如果没有分割数据,只看对训练数据的正确率,我们可能会选择 SVC」23——不切数据,选模型就是抽签

交叉验证:别把运气当实力

留出法有软肋:万一切的验证数据碰巧特别简单(或特别难),分数就是运气。交叉验证的对策是分多次:原书示例分 5 次,每次轮流拿不同的 20% 当验证,其余 80% 训练24。五次五个分数:0.991, 0.930, 0.947, 0.965, 0.929——原书提醒,选模型要看所有分数的均值和方差:均值管平均水平,方差管稳不稳25

8. 网格搜索:超参数的穷举法

模型定了,还剩超参数(训练前由人给定、算法自己不学的数,如第 02 章的 α、这一章 SVR 的 C 和 kernel)26。逐个手调太慢,网格搜索把每个候选值排成格子,所有组合穷尽搜索27。原书示例:树的深度取 {5,10,15} × 树的棵数取 {10,20,30},共 3×3=9 种组合,全部按交叉验证评估,报出最优组合 {'max_depth': 10, 'n_estimators': 10},得分 0.94928

注意网格搜索的成本结构:组合数是各超参数候选数的乘积——两个超参数各 5 个候选就是 25 次,五个超参数就爆了。候选值要先圈好范围(补充:不在书里,来自通用知识)。

9. 作者的判断与证据

说法性质依据
FN 36 = 36 个恶性患者被漏诊书内对混淆矩阵的直接判读数字在正文5
「召回率低比精确率低更严重」限定在癌症筛查语境的判断;换场景(垃圾邮件)结论反转——原书语境限于医疗例书内陈述8
阈值 0.1 → 召回 0.99/正确率 0.82书内给出完整对照数字链在正文11
正确率 0.99 但 AUC 0.6作者给的现实场景(广告购买),未给真实数据举例性陈述17
MSE 43.6 → R² 0.484,SVR 翻盘 0.569书内代码运行结果数字21
留出 7:3、交叉验证 5 折书内给操作建议并声明「比例没有明确规定」书内陈述22

判断(我们的,不是书里的): 原书把 5 折交叉验证当作标准动作,这在教学数据上完全成立;但在按时间先后排的数据(股价、销量这类)上,随机分折会「用未来验证过去」,分数虚高——时序数据要用按时间切分的变体。 如果错,会错在: 若拿随机交叉验证去评股价、销量这类带时间依赖的模型,会得到远高于真实上线表现的分数,把过拟合的模型当成好模型放行。

10. 边界与局限

  • 原书的评分尺子箱止于 AUC;类别更多、标签有层次(多标签)的场景需要宏平均/微平均等变体,原书未涉及(补充:不在书里,来自通用知识)。
  • 防过拟合的方法,原书专栏给了完整清单:增加训练数据、减少特征值、正则化、Early Stopping、集成学习29——本章展开的是「评估侧」的两种,前面章节各贡献过一种(第 02 章正则化、第 07 章早停、第 06 章集成)。
  • 数据泄漏(预处理时混入验证信息)是留出法与交叉验证共同的坑,原书完全未提;实际操作中,标准化、特征选择都必须只在训练折内做(补充:不在书里,来自通用知识)。
  • 版本提示:本章代码用 confusion_matrixprecision_scorerecall_scoref1_scoreroc_auc_scorecross_val_scoreGridSearchCV;乳腺癌 AUC 输出 0.976730

11. 可带走的

  1. 分类第一问:数据均衡吗?不均衡时正确率自动作废——95 阳性全报阳 = 95% 的废物;
  2. 混淆矩阵四格:TN/TP 是对的,FP 误报(虚惊),FN 漏报(放走)——漏报通常更贵,但由业务说了算;
  3. 精确率问「报上来的准不准」,召回率问「该抓的抓到没」,F1 是两者的调和;
  4. 评分尺子是「模型×阈值」的属性:阈值 0.5→0.1,召回 0.83→0.99,正确率 0.91→0.82;
  5. 不均衡数据看 AUC:0.5=抛硬币,1=完美;它不看各类别条数,骗不了;
  6. 回归别横比 MSE,看 R²(0~1,可为负);SVR 翻盘的故事:配置烂≠算法烂;
  7. 打分必须用没参与训练的数据;只看训练分数选模型=抽签(SVC 1.0→0.602 的教训);
  8. 交叉验证报均值也报方差——分数忽高忽低本身就是信号;
  9. 网格搜索=超参数格子穷举,组合数是乘积,范围要先圈小;
  10. 防过拟合全家福:加数据、减特征、正则化、早停、集成——评估侧再加留出与交叉验证。

12. 原文地图

主题原书章原文位置
指标清单(表 4-1)4.1 评估方法text/23-ch04-01-4-1.txt:8(搜「所需的指标不同」)
标签反转、阳性阳性4.1 评估方法text/23-ch04-01-4-1.txt:36(搜「将恶性视为 1」) · text/23-ch04-01-4-1.txt:39(搜「作阳性来处理更加自然」)
混淆矩阵输出 341/16/36/1764.1 评估方法text/23-ch04-01-4-1.txt:65(搜「341」) · text/23-ch04-01-4-1.txt:67(搜「176」)
TN/FP/FN/TP 定义4.1 评估方法text/23-ch04-01-4-1.txt:82(搜「指的是阴性数据实际被正确预测为阴性」) · text/23-ch04-01-4-1.txt:85(搜「指的是阳性数据实际被错误地预测为阴性」)
36 人漏诊4.1 评估方法text/23-ch04-01-4-1.txt:92(搜「36 个恶性患者被漏诊」)
四个指标公式4.1 评估方法text/23-ch04-01-4-1.txt:99(搜「TP + TN」) · text/23-ch04-01-4-1.txt:108(搜「精确率 × 召回率」)
0.9086/0.9167/0.8302/0.87134.1 评估方法text/23-ch04-01-4-1.txt:120(搜「0.9086」) · text/23-ch04-01-4-1.txt:135(搜「0.91666666」) · text/23-ch04-01-4-1.txt:149(搜「0.83018」) · text/23-ch04-01-4-1.txt:164(搜「0.87128」)
再查一轮、召回率低更严重4.1 评估方法text/23-ch04-01-4-1.txt:139(搜「通过再次检查等方式解决」) · text/23-ch04-01-4-1.txt:153(搜「召回率低的问题更严重」)
此消彼长4.1 评估方法text/23-ch04-01-4-1.txt:166(搜「此消彼长的关系」)
预测概率、0.5 阈值4.1 评估方法text/23-ch04-01-4-1.txt:171(搜「大多数模型预测的是」) · text/23-ch04-01-4-1.txt:192(搜「基于阈值 0.5 输出的判断结果」)
阈值 0.1 的对照4.1 评估方法text/23-ch04-01-4-1.txt:193(搜「10%(0.1)」) · text/23-ch04-01-4-1.txt:202(搜「259」) · text/23-ch04-01-4-1.txt:218(搜「召回率非常高」)
95/5 偏差实验4.1 评估方法text/23-ch04-01-4-1.txt:224(搜「阳性数据有 95 个」) · text/23-ch04-01-4-1.txt:227(搜「计算出高正确率结果的情况经常出现」)
AUC/ROC 定义4.1 评估方法text/23-ch04-01-4-1.txt:229(搜「曲线下的面积」) · text/23-ch04-01-4-1.txt:231(搜「阈值从 1 开始逐渐下降时」)
0.5=抛硬币、0.9774.1 评估方法text/23-ch04-01-4-1.txt:265(搜「和抛硬币随机决定良性恶性没多大区别」) · text/23-ch04-01-4-1.txt:272(搜「0.97673」)
正确率 0.99 但 AUC 0.64.1 评估方法text/23-ch04-01-4-1.txt:277(搜「AUC 只有 0.6 的情况」)
波士顿房价、RM4.1 评估方法text/23-ch04-01-4-1.txt:284(搜「5.0 ~ 50.0 的数值」) · text/23-ch04-01-4-1.txt:285(搜「住宅平均房间数」)
y=9.10x−34.67、10.834.1 评估方法text/23-ch04-01-4-1.txt:319(搜「y = 9.10x - 34.67」) · text/23-ch04-01-4-1.txt:320(搜「预测租金为 10.83」)
MSE 43.6、R² 0.4844.1 评估方法text/23-ch04-01-4-1.txt:367(搜「约为 43.6」) · text/23-ch04-01-4-1.txt:371(搜「被称为 R2 的系数」) · text/23-ch04-01-4-1.txt:373(搜「也可能为负值」) · text/23-ch04-01-4-1.txt:381(搜「0.48352」)
MSE 受方差影响4.1 评估方法text/23-ch04-01-4-1.txt:388(搜「如果目标变量的方差较大,均方误差也会变大」)
SVR 对照与翻盘4.1 评估方法text/23-ch04-01-4-1.txt:435(搜「72.14197」) · text/23-ch04-01-4-1.txt:460(搜「36.42126」) · text/23-ch04-01-4-1.txt:445(搜「就可以改善 SVR 的均方误差和决定」)
超参数训练前给4.1 评估方法text/23-ch04-01-4-1.txt:466(搜「需要在训练开始前由用户给出」)
过拟合演示 −1.44784.1 评估方法text/23-ch04-01-4-1.txt:488(搜「现象叫作过拟合」) · text/23-ch04-01-4-1.txt:485(搜「-1.4478」)
泛化能力4.1 评估方法text/23-ch04-01-4-1.txt:491(搜「能力叫作泛化能力」)
7:3、比例无硬规定4.1 评估方法text/23-ch04-01-4-1.txt:525(搜「70% 用于训练」) · text/23-ch04-01-4-1.txt:527(搜「6∶4 也是可行的」)
SVC 1.0→0.602、RF 0.9594.1 评估方法text/23-ch04-01-4-1.txt:562(搜「0.6023391」) · text/23-ch04-01-4-1.txt:581(搜「0.959064」) · text/23-ch04-01-4-1.txt:586(搜「我们可能会选择 SVC」)
交叉验证 5 次4.1 评估方法text/23-ch04-01-4-1.txt:593(搜「不同的分割方案进行多次验证」) · text/23-ch04-01-4-1.txt:616(搜「0.99122807」) · text/23-ch04-01-4-1.txt:619(搜「均值和方差」)
网格搜索 9 组合4.1 评估方法text/23-ch04-01-4-1.txt:640(搜「穷尽搜索的方法」) · text/23-ch04-01-4-1.txt:672(搜「3×3 = 9 种情况进行了评估」) · text/23-ch04-01-4-1.txt:679(搜「0.94903339」) · text/23-ch04-01-4-1.txt:681(搜「'max_depth': 10, 'n_estimators': 10」)
防过拟合清单4.1 评估方法text/23-ch04-01-4-1.txt:694(搜「增加训练数据」)

Footnotes

  1. 出处:「4.1 评估方法」第 7 段(text/23-ch04-01-4-1.txt:7,搜「常见的评估方法、提高机器学习性能的方法」)。原书章节导语说本章将梳理「常见的评估方法、提高机器学习性能的方法,以及提高性能时的障碍」;「在实际使用机器学习时,这一章的内容一定会对读者有所帮助」是原书前言对第 4 章的评语(「前言」第 23 段,text/02-fm.txt:37,搜「这一章的内容一定会对读者」)。

  2. 出处:「4.1 评估方法」第 8 段(text/23-ch04-01-4-1.txt:8,搜「所需的指标不同」);清单见表 4-1(第 14~23 段)。

  3. 出处:「4.1 评估方法」第 36~39 段(text/23-ch04-01-4-1.txt:36,搜「将恶性视为 1」;text/23-ch04-01-4-1.txt:39,搜「作阳性来处理更加自然」)。

  4. 出处:「4.1 评估方法」第 6566 段(text/23-ch04-01-4-1.txt:65,搜「341」;text/23-ch04-01-4-1.txt:67,搜「176」)。四个格子(TN/FP/FN/TP)的位置定义在第 8289 段。

  5. 出处:「4.1 评估方法」第 92 段(text/23-ch04-01-4-1.txt:92,搜「36 个恶性患者被漏诊」)。 2

  6. 出处:「4.1 评估方法」第 99~108 段(text/23-ch04-01-4-1.txt:99,搜「TP + TN」;text/23-ch04-01-4-1.txt:108,搜「精确率 × 召回率」)。

  7. 出处:「4.1 评估方法」第 139 段(text/23-ch04-01-4-1.txt:139,搜「通过再次检查等方式解决」)。

  8. 出处:「4.1 评估方法」第 153 段(text/23-ch04-01-4-1.txt:153,搜「召回率低的问题更严重」)。 2

  9. 出处:「4.1 评估方法」第 166~167 段(text/23-ch04-01-4-1.txt:166,搜「此消彼长的关系」)。

  10. 出处:「4.1 评估方法」第 171~172 段(text/23-ch04-01-4-1.txt:171,搜「大多数模型预测的是」)与第 192 段(text/23-ch04-01-4-1.txt:192,搜「基于阈值 0.5 输出的判断结果」)。

  11. 出处:「4.1 评估方法」第 193194 段(text/23-ch04-01-4-1.txt:193,搜「10%(0.1)」);新混淆矩阵 [[259,98],[2,210]] 在第 202204 段(text/23-ch04-01-4-1.txt:202,搜「259」);正确率 0.8242 与召回率 0.9906 在第 214~218 段(text/23-ch04-01-4-1.txt:218,搜「召回率非常高」)。 2

  12. 出处:「4.1 评估方法」第 223~225 段(text/23-ch04-01-4-1.txt:224,搜「阳性数据有 95 个」;text/23-ch04-01-4-1.txt:225,搜「正确率会高达 95%」)。

  13. 出处:「4.1 评估方法」第 227 段(text/23-ch04-01-4-1.txt:227,搜「计算出高正确率结果的情况经常出现」)。

  14. 出处:「4.1 评估方法」第 228~231 段(text/23-ch04-01-4-1.txt:229,搜「曲线下的面积」;text/23-ch04-01-4-1.txt:230,搜「横轴为假阳性率」;text/23-ch04-01-4-1.txt:231,搜「阈值从 1 开始逐渐下降时」)。

  15. 出处:「4.1 评估方法」第 263~265 段(text/23-ch04-01-4-1.txt:265,搜「和抛硬币随机决定良性恶性没多大区别」)。

  16. 出处:「4.1 评估方法」第 272 段(text/23-ch04-01-4-1.txt:272,搜「0.97673」)。

  17. 出处:「4.1 评估方法」第 275~278 段(text/23-ch04-01-4-1.txt:277,搜「AUC 只有 0.6 的情况」;text/23-ch04-01-4-1.txt:278,搜「用 AUC 作为指标」)。 2

  18. 出处:「4.1 评估方法」第 319~320 段(text/23-ch04-01-4-1.txt:319,搜「y = 9.10x - 34.67」;text/23-ch04-01-4-1.txt:320,搜「预测租金为 10.83」)。

  19. 出处:「4.1 评估方法」第 367 段(text/23-ch04-01-4-1.txt:367,搜「约为 43.6」)与第 370~372 段(text/23-ch04-01-4-1.txt:371,搜「被称为 R2 的系数」;text/23-ch04-01-4-1.txt:373,搜「也可能为负值」);0.484 在第 381 段。

  20. 出处:「4.1 评估方法」第 387~390 段(text/23-ch04-01-4-1.txt:388,搜「如果目标变量的方差较大,均方误差也会变大」)。

  21. 出处:「4.1 评估方法」第 435436 段(text/23-ch04-01-4-1.txt:435,搜「72.14197」;text/23-ch04-01-4-1.txt:436,搜「0.145435」)与第 460462 段(text/23-ch04-01-4-1.txt:460,搜「36.42126」);「印象很差但改参数就能改善」的解说在第 443~446 段(text/23-ch04-01-4-1.txt:445,搜「就可以改善 SVR 的均方误差和决定」)。 2

  22. 出处:「4.1 评估方法」第 525~527 段(text/23-ch04-01-4-1.txt:525,搜「70% 用于训练」;text/23-ch04-01-4-1.txt:527,搜「6∶4 也是可行的」)。 2

  23. 出处:「4.1 评估方法」第 560562 段(text/23-ch04-01-4-1.txt:562,搜「0.6023391」)、第 579581 段(text/23-ch04-01-4-1.txt:581,搜「0.959064」)与第 586 段(text/23-ch04-01-4-1.txt:586,搜「我们可能会选择 SVC」)。

  24. 出处:「4.1 评估方法」第 593~595 段(text/23-ch04-01-4-1.txt:593,搜「不同的分割方案进行多次验证」;text/23-ch04-01-4-1.txt:595,搜「20% 的数据用于验证的情况」)。

  25. 出处:「4.1 评估方法」第 616~619 段(text/23-ch04-01-4-1.txt:616,搜「0.99122807」;text/23-ch04-01-4-1.txt:619,搜「均值和方差」)。

  26. 出处:「4.1 评估方法」第 464~466 段(text/23-ch04-01-4-1.txt:466,搜「需要在训练开始前由用户给出」)。

  27. 出处:「4.1 评估方法」第 638~639 段(text/23-ch04-01-4-1.txt:640,搜「穷尽搜索的方法」)。

  28. 出处:「4.1 评估方法」第 671672 段(text/23-ch04-01-4-1.txt:672,搜「3×3 = 9 种情况进行了评估」)与第 679681 段(text/23-ch04-01-4-1.txt:679,搜「0.94903339」;text/23-ch04-01-4-1.txt:681,搜「'max_depth': 10, 'n_estimators': 10」)。

  29. 出处:「4.1 评估方法」专栏第 693~698 段(text/23-ch04-01-4-1.txt:694,搜「增加训练数据」)。

  30. 出处:「4.1 评估方法」第 270~272 段(text/23-ch04-01-4-1.txt:272,搜「0.97673」)。