0


python机器学习之流水线

1.流水线介绍

流水线把数据挖掘过程的每个步骤保存在工作流中。
在数据挖掘过程中使用流水线,可以大大降低代码及操作的复杂度,优化流程结构,可以有效减少常见问题的发生。

流水线通过 Pipeline() 来实例化,需要传入的属性是一连串数据挖掘的步骤,其中前几个是转换器,最后一个必须是估计器。

以经典的鸢尾数据为例,通过以下该简单示例的代码,我们来对比感受使用与不使用流水线下代码的差别。
具体流程为:获取数据后,首先进行归一化处理,然后使用近邻算法预测,最后使用交叉检验输出平均准确率。
在这里插入图片描述

2.示例

1.导包与获取数据

import numpy as np
from sklearn.pipeline import Pipeline
from sklearn.neighbors import KNeighborsClassifier
from sklearn.preprocessing import MinMaxScaler
from sklearn.model_selection import cross_val_score
from sklearn.datasets import load_iris

# 获取数据
dataset = load_iris()# print(dataset)
X = dataset.data
y = dataset.target

2.使用流水线前

X_transformed = MinMaxScaler().fit_transform(X)
estimator = KNeighborsClassifier()
scores = cross_val_score(estimator, X_transformed, y, scoring='accuracy')print("预测的准确率为{0:.1f}%".format(np.mean(scores)*100))

在这里插入图片描述

3.使用流水线后

scaling_pipeline = Pipeline([('scale', MinMaxScaler()),('predict', KNeighborsClassifier())])
scores = cross_val_score(scaling_pipeline, X, y, scoring='accuracy')print("预测的准确率为{0:.1f}%".format(np.mean(scores)*100))

在这里插入图片描述
检验准确率也为96.0%,达到了和上边传统写法一样的效果。


本文转载自: https://blog.csdn.net/weixin_48964486/article/details/122934688
版权归原作者 侯小啾 所有, 如有侵权,请联系我们删除。

“python机器学习之流水线”的评论:

还没有评论