scikit-learn 工作流工程化:Pipeline、ColumnTransformer 与自定义转换器没有 Pipeline 的机器学习代码通常在 Jupyter Notebook 中散落为以下碎片:StandardScaler().fit_transform(X_train) 在一行,model.fit() 在翻了好几页后的另一个 Cell 里,预处理和训练之间被分析和可视化的代码隔开。更致命的是,交叉验证时很容易把 fit_transform 应用于整个数据集而非仅训练集,导致测试集信息泄漏到训练过程中——这种 Bug 不会报错,只会让交叉验证分数虚高,而模型上线后的真实表现远低于预期。scikit-