首页 > 其他分享 >Pipeline工作流

Pipeline工作流

时间:2022-12-18 21:24:47浏览次数:44  
标签:Pipeline score fit transform 工作 train test import

一、概述

pipeline实现了对特征处理与机器学习的封装流程化管理,期间处理的参数可以很方便的在测试集和未来数据上反复使用。

  • Pipeline都是执行各学习器中对应的方法,如果该学习器没有该方法,则报错

  • 假设该pipeline有n个学习器

  • fit依次对前n-1的学习器执行fit和transform方法,并且对最后一个学习器执行fit方法

  • predict先对n-1学习器执行transform方法,然后执行最后一个学习器的predict方法

  • score先对n-1学习器执行transform方法,然后执行最后一个学习器的score方法

 

 

二、代码展示

from sklearn.preprocessing import StandardScaler
from sklearn.linear_model import Ridge
from sklearn.model_selection import train_test_split
from sklearn.datasets import load_boston
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import PolynomialFeatures
import warnings
warnings.filterwarnings("ignore")


X,y = load_boston(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=1)


pipe_lr = Pipeline([
    ('pf', PolynomialFeatures(degree=3,include_bias=False,interaction_only=False)),
    ('sc', StandardScaler()),
    ('clf', Ridge(alpha=0.8))])



# fit依次对前n-1的学习器执行fit和transform方法,并且对最后一个学习器执行fit方法
pipe_lr.fit(X_train, y_train)
# score依次对前n-1的学习器执行transform方法,并且对最后一个学习器执行score方法
print(f'Train score: {pipe_lr.score(X_train, y_train):.5%},Test score: {pipe_lr.score(X_test, y_test):.5%},')


#  pip实现的就是下面代码的功能

X,y = load_boston(return_X_y=True)
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.25, random_state=1)

pf = PolynomialFeatures(degree=3,include_bias=False,interaction_only=False)
X_train = pf.fit_transform(X_train)
X_test = pf.transform(X_test)

sc = StandardScaler()
X_train = sc.fit_transform(X_train)
X_test = sc.transform(X_test)

clf = Ridge(alpha=0.8)
clf.fit(X_train, y_train)
print(f'Train score: {clf.score(X_train, y_train):.5%},Test score: {clf.score(X_test, y_test):.5%},')

 

标签:Pipeline,score,fit,transform,工作,train,test,import
From: https://www.cnblogs.com/qianslup/p/16972565.html

相关文章

  • SpringBoot 阅读源码之RandomValuePropertySource 是如何工作的
    最近在极客时间上面学习丁雪丰老师的《玩转Spring全家桶》,看到一个在application.properties里面生成随机数的例子,觉得很厉害,带着崇拜的心情去阅读了一下Spring的源码,总......
  • HTTP工作原理、请求方法、请求/响应步骤、Request/Response示例
    HTTP简单介绍HTTP是超文本传输协议,定义了客户端与服务器端之间文本传输的规范。HTTP默认使用80端口,这个端口指的是服务端的端口,而客户端使用的端口是动态分配的。当我们没有......
  • 工作流管理系统参考模型简介
    在阐述工作流引擎之前,我们来了解一下工作流技术的基本知识。早在几年前,为了建立工作流管理系统的相关标准,国际上成立了一个称为“工作流管理联盟”(简称WFMC)的国际组织。她提......
  • 【小技巧】MATLAB中的使用Git的工作流程
    Git集成已经成为MATLAB的一部分很长时间了。从R2021b开始,MATLABOnline也提供了对基本Git工作流的支持:   可以clone,commit,pull,pushandfetchfiles到MATLABD......
  • Visual Studio的调试选项卡的工作目录和环境设置
    https://blog.csdn.net/a_Treasure/article/details/83867465vs的“属性页”设置让初学者很是头疼,记录一下“配置属性”的“常规”和“调试”选项卡的设置方法。1.常规......
  • OS@页面置换算法@抖动@工作集
    文章目录​​页面置换算法​​​​页面算法评价​​​​最佳置换算法OPT​​​​例​​​​先进先出算法FIFO​​​​最近最久未使用算法LRU​​​​时钟置换算法(CLOCK/NRU......
  • 按行数拆分工作表
    问题:300行数据,按行数拆分,每个工作表30行,共拆成10个工作表。解决:第一步,添加辅助列(I列),I1:I30中输入数字1 第二步,I31输入=I1+1,下拉至I300第三步,数据》拆分表格》工作表......
  • Transformers 库pipeline组件
    目录pipeline组件基本用法pipeline组件基本用法Transformers库将目前的NLP任务归纳为以下几类:文本分类:例如情感分析、句子对关系判断等;对文本中的词语进行分类:例如词......
  • vue3项目,记录我是如何用1h实现产品预估1天工作量的界面需求
    最近在编写前端界面,硬是一人一周时间加班加点写完了一个项目的前端界面(一级菜单有12个页面+一个控制台大屏,二三级界面有N个),之前预估前端界面的编写需要一个月,我是自己......
  • 前端知识学习案例-浏览器得工作原理
      ......