sklearn的pipeline管道机使用及原理

在使用机器学习的时候,往往需要对数据进行规范化处理,每一步都需要去执行,上一步执行完的数据传递给下一步执行数据,每一步生成的数据需要用一个变量来存储,这样子会繁琐的多,所幸,python有pipline管道机制

Pipeline管道机制

Pipeline管道机制,顾名思义,它就像水管一样,数据就像水一样,在管道之间流动,Pipline的每一步就将一节节水管,数据经由这一节水管留到下一节水管,流向下一节水管的就是经由上一节水管处理后的数据

Pipline使用方法

Pipeline流水线作业,每一步都采用(‘名称’,步骤)的方式表示。
例如:

from sklearn.pipeline import Pipeline    # 导入sklearn中的Pipeline
from sklearn.preprocessing import StandardScaler   # 将数据均值移除,变为均值为0,方差为1的数据
from sklearn.decomposition import PCA  
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestClassifier
data = load_iris()
y = data.target
x = data.data
train_x, test_x, train_y, test_y = train_test_split(x,y, test_size=0.30, stratify = y)
pipeline = Pipeline([
    ('scaler', StandardScaler()),
    ('pca', PCA()),
    ('randomforestclassifier', RandomForestClassifier())
])
pipeline.fit(data.data,data.target)
print(pipeline.score(test_x,test_y))

# 输出
0.9777777777777777

注意点

  • 除了最后一个tansform,其余的transform必须实现fit_transform函数
  • 在自定义transform类时,必须要实现fit_transform函数,因为fit_transform是下一个transform的参数
  • 每一步transform返回的值是numpy的array形式数据
  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

2020重新做人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值