企业微信网站开发文档,买卖友情链接,wordpress图文调用,郑州第一附属医院不孕不育科本教程是ML系列的一部分。 在此步骤中#xff0c;您将了解如何以及为何使用管道清理建模代码。
What Are Pipelines
管道是保持数据处理和建模代码有序的简单方法。 具体来说#xff0c;管道捆绑了预处理和建模步骤#xff0c;因此您可以像使用单个包一样使用整个捆绑包。…本教程是ML系列的一部分。 在此步骤中您将了解如何以及为何使用管道清理建模代码。
What Are Pipelines
管道是保持数据处理和建模代码有序的简单方法。 具体来说管道捆绑了预处理和建模步骤因此您可以像使用单个包一样使用整个捆绑包。 许多数据科学家在没有管道的情况下将模型混合在一起但是管道有一些重要的好处。 其中包括 清洁代码您无需在每个处理步骤中跟踪您的训练和验证数据。 在每个处理步骤中计算数据会变得混乱。 使用管道您无需手动跟踪每个步骤。 更少的错误错误应用或忘记预处理步骤的机会较少。 更容易生产将模型从原型转换为可大规模部署的设备可能会非常困难。 我们不会在这里讨论许多相关问题但管道可以提供帮助。 更多模型测试选项您将在下一个教程中看到一个示例其中包含交叉验证。
Examples
我们不再介绍如何加载数据现在想下一下你已经有了训练和测试数据。
【1】
import pandas as pd
from sklearn.model_selection import train_test_split# Read Data
data pd.read_csv(../input/melb_data.csv)
cols_to_use [Rooms, Distance, Landsize, BuildingArea, YearBuilt]
X data[cols_to_use]
y data.Price
train_X, test_X, train_y, test_y train_test_split(X, y)
您有一个使用Imputer填充缺失值的建模过程然后使用RandomForestRegressor进行预测。 这些可以与make_pipeline函数捆绑在一起如下所示。
【2】
from sklearn.ensemble import RandomForestRegressor
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import Imputermy_pipeline make_pipeline(Imputer(), RandomForestRegressor())
您现在可以使用此管道作为融合整体来拟合和预测。
【3】
my_pipeline.fit(train_X, train_y)
predictions my_pipeline.predict(test_X)
进行比较这里有一个不使用管道的例子
【4】
my_imputer Imputer()
my_model RandomForestRegressor()imputed_train_X my_imputer.fit_transform(train_X)
imputed_test_X my_imputer.transform(test_X)
my_model.fit(imputed_train_X, train_y)
predictions my_model.predict(imputed_test_X)
这个特殊的管道只是代码优雅的一个小小改进。 但随着数据处理变得越来越复杂管道变得越来越有价值。
Understanding Pipelines
大多数scikit-learn对象都是转换模型变形金刚。 变形金刚用于建模前的预处理。 Imputer类用于填充缺失值是变形金刚的示例。随着时间的推移您将学习更多变形金刚并且您将经常使用多个变形金刚。 模型用于进行预测。在将数据放入模型之前通常会对数据进行预处理。 您可以根据应用方式判断对象是变形金刚还是模型。安装变形金刚后使用transform命令应用它。在拟合模型后将其与predict命令一起应用。您的管道必须从变形金刚步骤开始并以模型结束。无论如何这是你想要的。 最终您将需要应用更多变形金刚并更灵活地组合它们。我们稍后将在高级管道教程中介绍此内容。 Your Turn
获取建模代码并将其转换为使用管道。现在您需要对管道外的分类变量进行one-hot encoding即在将数据放入管道之前。