九步
这门课收的不是模型,是一张盖满章的流转卡。
八个步骤合计 100 分,真正「跑模型」的三步只占 40 分,而「解释」一步就吃掉 20 分,「数据准备」15 分,「业务理解」10 分——后面这三样,一行 fit() 都不需要。
同一个 SDG 问题要在四条产线上各挖一遍:SPSS Modeler 拖流程图、Python 生态写代码、AWS 上开 EC2 跑 PySpark,外加一条不计分的微软线。所以提案里的每个决定都要付四次——而那份提案是 0 分的。
一句话说清这本书:评分员手上只有你的报告。你在 Jupyter 里试过的十七种参数、debug 了三小时的 join、那个终于跑通的 Spark 作业——凡是没写进报告的,在这门课里等于没有发生。所以九步不是九个技术环节,是九段必须留下痕迹的证据。
这本书按九步排列,每章开头盖一枚工位章:这一章对应第几步、值多少分、评分员在这一步找什么;每章末尾一块「本章交付物」:这一章的东西该以什么形式出现在报告的哪一节。
九个工位,与它们的分值
主线一:报告是产品,模型是零件。九步的每一步都有明确的小节编号(1.1 到 9.4),评分员按编号找证据。整份作业说明里只有一处用了强制语气,在 Step 7.2:models must execute——除此之外,全部是「你有没有说清楚」。
主线二:同一个问题挖四遍,所以每个决定都是四倍成本。选题、主数据集、分析单元+目标列这三样一旦定下,会被复制到三次迭代和一篇论文里。第一次迭代写成可复用的母版,后两次只需 40% 的工作量;反之,糊的地方你要抄三遍。
目录
提案就要交、没时间:直接读卷 II(5–8 章),四章读完就能动手写 Step 1–2。第 8 章末尾有一张「提案提交前自检」,逐条勾完再交。
想知道分在哪:读第 1 章。里面那个 Demo 会当场算给你看:两个人工作量完全相同,只是力气放的位置不同,一个 70 分一个 80 分。
已经在建模了:跳到第 13 章(泄漏)和第 18 章(阈值)。这两章各有一个能直接写进报告的段落模板,加起来不到 400 字,覆盖 Step 3.1、7.1、8.4 的评分点。
Demo 别只看:28 个 Demo 全是真跑的引擎——一份带六种脏的合成数据(480 行 SDG 3 场景,固定种子可复现)、一台真的 CART 决策树、一台用 Jacobi 旋转求特征分解的 PCA、真的 ROC 积分、真的 Apriori、真的 PSI 漂移检测。正文里出现的每个数字都是它们当场算的,包括那些对我不利的数字——第 13 章会诚实地告诉你,预处理泄漏在这份数据上只值 1.9 个百分点。
所有 Demo 跑的是合成数据:480 行「地区-年」,7 个特征,目标是 5 岁以下儿童死亡率,二分阈值取 SDG 指标 3.2.1 的真实目标值 25‰。生成规则写在 engine.js 里,种子固定为 7220。
用合成数据的两个理由:一,我不能凭记忆编造 WHO 的真实数字——那是假数据冒充真数据,比合成数据糟糕得多;二,合成数据的「正确答案」是已知的,所以当 PCA 给一列纯噪声开专属主成分、当决策树在深处劈它一刀,我能确定地指出「这就是过拟合的样子」。你自己的报告当然要用真实数据——这份数据的用途是让你先看清每种脏数据在指标上留下的痕迹长什么样。