为什么流水线胜过手动步骤
用一个对象完成转换和建模
为什么流水线胜过手动步骤 是 CoddyKit 上的免费 Data Science Academy 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Data Science Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Data Science Academy 课程共包含 4 节课。
手动处理的混乱
手动完成缩放、编码,再拟合模型,意味着要按正确顺序管理许多对象。流水线可以结束这种混乱。
什么是流水线
scikit-learn 的流水线会将多个变换和最终模型串联成一个对象,并按顺序自动运行每个步骤。🔗
一行代码构建
您可以将带名称的步骤列表传给流水线,最后以一个估计器结尾。最后一步是模型,其余步骤是变换器。
from sklearn.pipeline import Pipeline
pipe = Pipeline([('scale', StandardScaler()), ('model', LogisticRegression())])fit 调用每个步骤
对流水线调用fit时,它会依次拟合每个变换器,然后使用变换后的数据拟合最终模型。一次调用即可完成全部操作。
pipe.fit(X_train, y_train)predict 会复用这些步骤
调用predict时,相同的变换会先应用于新数据,然后模型才会处理这些数据。您的预处理永远不会被忘记。
preds = pipe.predict(X_test)不再发生数据泄漏
流水线只从训练数据中学习缩放和编码方式,因此测试信息不会偷偷混入。这种设计可以阻止数据泄漏。
只需携带一个对象
由于预处理和模型共存于一处,您可以保存、共享并重新加载一个对象,而不是五个彼此分离的部分。
make_pipeline 快捷方式
如果您不在意步骤名称,make_pipeline可以构建相同的对象,并自动为步骤命名。
from sklearn.pipeline import make_pipeline
pipe = make_pipeline(StandardScaler(), LogisticRegression())按名称访问步骤
需要检查某个阶段吗?使用您为它指定的名称索引named_steps,即可取出那个已经拟合的对象。
coefs = pipe.named_steps['model'].coef_与交叉验证配合良好
流水线表现得像一个单独的估计器,因此您可以直接将它传给cross_val_score,并确保每个折叠中的预处理都不会发生数据泄漏。
代码更简洁、更安全
最大的好处是需要管理的部分更少:一次拟合、一次预测,以及始终与模型匹配的预处理。这就是值得信赖的可复现性。
快速检查
为什么将预处理和模型封装在流水线中可以防止数据泄漏?
回顾
您已经学会,流水线会将变换和模型串联成一个整洁的对象:一次拟合、一次预测、不发生数据泄漏。接下来学习混合列类型。🎯
常见问题解答
「为什么流水线胜过手动步骤」课时是免费的吗?
是的 — 「为什么流水线胜过手动步骤」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Data Science Academy 课程的其余内容,请升级到 CoddyKit PRO。 Data Science Academy 课程共包含 4 节课。
「为什么流水线胜过手动步骤」这节课中我会学到什么?
用一个对象完成转换和建模 你通过在浏览器中直接运行的动手代码来练习 Data Science Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Data Science Academy 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Data Science Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「为什么流水线胜过手动步骤」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Data Science Academy 课中编写并运行代码吗?
能。每节 Data Science Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。