在机器学习中,我们有能力自动化我们的工作流程。在本文中,我将帮助你从初学者的层次开始使用Python在ML中构建管道。
什么是管道?
机器学习管道用于自动化机器学习工作流。它们的工作方式是允许一系列数据在模型中转换和关联,该模型可以进行测试和评估以实现结果,无论是正数还是负数。
我们将构建一个数据准备和建模管道,当我们开始编写代码时,您将看到并理解上述解释的较大内容。
我们将使用科学学习,俗称”斯克里特”。
我们将使用它来自动化标准 ML 工作流。你可以在学习文档中阅读更多关于它。
您可能还喜欢:
如何构建简单的机器学习管道
作为 ML 从业者,在您的工作中要避免的一个主要问题是数据泄漏,而为了避免这种情况,我们需要正确准备数据并全面了解数据。管道通过确保标准化受交叉验证过程的每个折叠约束来帮助我们实现这一点。
我们将构建一个标准化数据的简单管道,然后创建一个模型,我们将通过一次叉验证进行评估。下一步是构建用于特征提取和建模的管道。
98264px;左: 35.9722px;”>
xxxxxxxxxx
从熊猫进口read_csv
从斯克学习。model_selection导入"一次性"
1px;”*从斯克学习。model_selection导入cross_val_score
从斯克学习。预处理导入标准标尺
从斯克学习。管道导入管道
从斯克学习。discriminant_analysis导入线性抗性分析
导入数据后,下一步是加载数据集:
xxxxxxxxx
2222px;”>
• 加载数据
数据iris_dataset.csv
数据帧read_csv(数据)
数组数据帧。值
X数组[:,0:8|
Y数组[:,8]
估计器.追加((lda,线性分而三分析())
模型 = 管道(估计器)”数据朗=”文本/x-java”*
xxxxxxxxx
#creating管道
估计者= |
估计
9896px;”>
估计者。追加lda线性分抗分析())
模型=管道(估计器)
最后一步是评估我们刚刚创建的管道:
xxxxxxxxx
2222px;”>
#evaluate管道
loocv离开一个出()
结果cross_val_score(模型XYcv=loocv)
打印("准确性:%.3%%(%.3%%)"%(结果。均值()=100.0结果。std()=100.0)
接下来,我们将构建一个用于功能提取和建模的管道。避免数据泄漏非常重要。特征提取可以被看作是减少描述大量数据集所需的资源数量的行为。在分析复杂数据时,需要执行 4 个步骤:
- 具有主组件分析的特征提取
- 具有统计选择的特征提取
- 功能联合
- 了解逻辑回归模型
现在,让我们构建一个管道,提取要素,并构建一个模型追加(feature_union、feature_union))
估计器.追加(逻辑,线性回归())
模型 = 管道(估计器)
#evaluate管道
离开一个 – 离开一个出(n_splits=10,random_state=7)
结果 = cross_val_score(模型、X、Y、cv=离开一个 Out)
打印(结果.均值())”数据朗=”文本/x-python”*
xxxxxxxxx
#create管道
估计者= |
追加(((feature_union、feature_union))
估计者。追加逻辑线性回归())
模型管道(估计器)
#evaluate管道
离开一个离开一个出(n_splits=10random_state=7)
结果cross_val_score(模型XYcv=离开一个 Out)
1px;”*打印(结果.均值())
接下来,我们将创建一个功能联合:
xxxxxxxxx
数据iris_dataset.csv
1px;”•数据帧= read_csv(数据)
数组数据帧。值
X数组[:,0:8|
Y数组[:,8]
最后,我们必须创建和评估:
xxxxxxxxx
2222px;”>
#create功能联合
功能√ √
功能。追加pcA(n_components=3) ) )
功能。追加select_best选择K最佳(k=6)) )
feature_union功能联合(功能)
结论
现在,看起来很容易,不是因为管道是那么容易,而是因为我选择做最初学者友好的教程