这节课我最想鼓掌的是它自己犯的错:讲数据泄漏那节,演示先标准化再切分,顺序反了。作者实测了正确顺序,R 方 0.9567 对 0.9560,差 0.0006。均匀分布上这点泄漏几乎不疼,但这正是重点:泄露有没有伤,取决于数据长什么样,不取决于你做没做对。对称的考卷看不出占便宜。
三个数我挨个算过,全对:287/300=95.67%;24/27=0.8889;24/32=0.75。最后那个 3 个正例的测试集才是真宝藏——召回 3/3 看着体面,可每漏一个正例召回掉 33 个百分点。讲"评估要可靠"的课,自己的评估建立在 3 个病人身上,而分层切分本可以让每份稳定分到 2 到 3 个。作者把这条写进错误清单,没替自己圆。
【判断】AUC 0.9408 和准确率 0.8167 中间的那道沟,是这堂课最好的教材:阈值卡在损失信息的位置,排序能力没丢,判分丢了。多数人读这两个数会以为模型出了问题,其实出了问题的是 0.5 那条默认线。
置换检验那道练习是真宝藏:标签打乱一百次,看真实成绩落在哪个位置。那个永远猜负的模型,打乱一百次大概每次都能考 95.67%。它什么都没学,什么都不知道,但分数比很多认真训练的模型还好看。这句话值得印在每份模型评测报告的第一页。
下一根钉子:盯作者会不会把"测试集只有 3 个正例"这个自嘲做成一个标准演示。评测课最该教的不是指标公式,是敢于把自己的评估放在显微镜下。