首页 > 其他分享 >sklearn.pipeline的作用 函数参数解释及代码举例

sklearn.pipeline的作用 函数参数解释及代码举例

时间:2023-10-05 13:07:21浏览次数:46  
标签:pipeline fit Pipeline 函数参数 transformer https sklearn

sklearn.pipeline是一个实用的工具,可以将多个数据预处理步骤和机器学习模型组合成一个整体,从而简化了机器学习的流程。Pipeline类可以将多个算法模型串联起来,比如将特征提取、归一化、分类组织在一起形成一个典型的机器学习问题工作流。主要带来两点好处:1. 直接调用fitpredict方法来对pipeline中的所有算法模型进行训练和预测。2. 可以结合grid search对参数进行选择。具体而言,Pipeline实现了对全部步骤的流式化封装和管理,可以很方便地使参数集在新数据集(比如测试集)上被重复使用。

下面是一个简单的例子,展示了如何使用Pipeline对训练集和测试集进行如下操作:先用StandardScaler对数据集每一列做标准化处理(是 transformer),再用PCA将原始的30维度特征压缩到2维度(是 transformer),最后再用模型LogisticRegression(是 Estimator)。调用Pipeline时,输入由元组构成的列表,每个元组第一个值为变量名,元组第二个元素是sklearn中的transformer或Estimator。注意中间每一步是transformer,即它们必须包含fit和transform方法,或者fit_transform。最后一步是一个Estimator,即最后一步模型要有fit方法,可以没有transform方法。

from sklearn.preprocessing import StandardScaler
from sklearn.decomposition import PCA
from sklearn.linear_model import LogisticRegression
from sklearn.pipeline import Pipeline

pipe_lr = Pipeline([
    ('sc', StandardScaler()),
    ('pca', PCA(n_components=2)),
    ('clf', LogisticRegression(random_state=1))
])

pipe_lr.fit(X_train, y_train)
print('Test accuracy: %.3f' % pipe_lr.score(X_test, y_test))

更多关于Pipeline的信息,请参考官方文档

源: 与必应的对话, 2023/10/5 (1) 利用sklearn中pipeline构建机器学习工作流 - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/42368821. (2) sklearn pipeline函数-CSDN博客. https://blog.csdn.net/weixin_41500849/article/details/80389331. (3) sklearn的make_pipeline函数的代码解释、使用方法. https://developer.aliyun.com/article/988120. (4) sklearn之pipeline:sklearn.pipeline函数使用及其参数解释之详细攻略-阿里云开发者社区. https://developer.aliyun.com/article/800578. (5) 机器学习之构建Pipeline(一) - 知乎 - 知乎专栏. https://zhuanlan.zhihu.com/p/395777245. (6) undefined. https://archive.ics.uci.edu/ml/machine-learning-databases/.

标签:pipeline,fit,Pipeline,函数参数,transformer,https,sklearn
From: https://blog.51cto.com/u_16055028/7711040

相关文章

  • pandas.get_dummies与sklearn.preprocessing.OneHotEncoder
    pandas.get_dummies、sklearn.preprocessing.OneHotEncoder.fit_transform和sklearn.preprocessing.OneHotEncoder都用于对分类变量进行独热编码,但它们在实现和使用上有一些区别。pandas.get_dummies:解释:pandas.get_dummies是pandas库中的一个函数,用于将分类变量转化为虚拟变......
  • 函数基础和函数参数
    第一部分:函数基础 函数的作用意义:1.为了更好地管理代码,可能对应的代码块需要重复多次使用,所以通过一个函数封装起来,便于下次直接调用2.方法实际上是通过函数实现的例1:#type()#内置函数deflis():li=[1,2,3]li.append(4)li.pop(2)#指定删除......
  • from sklearn.datasets.samples_generator import make_blobs
     fromsklearn.datasets.samples_generatorimportmake_blobsmake_blobs方法:sklearn.datasets.make_blobs(n_samples=100,n_features=2,centers=3,cluster_std=1.0,center_box=(-10.0,10.0),shuffle=True,random_state=None)make_blobs函数是为聚类或分类产生数据集,产生一......
  • pipeline编译(jenkinsfile)
    1.pipeline概念  Pipeline是Jenkins中最为灵活的job构建方式,可实现像流水线一样调度Jenkins任务,  通过Jenkinsfile描述整个持续集成流程2.pipeline编写风格:声明式风格、脚本式风格  声明式:格式有强规范性(优势:可读性强。缺点:不灵活、代码冗长)  脚本式:使用gro......
  • cmake之解析宏或者函数参数
    本文将介绍cmake如何解析函数或者宏对应的参数列表语法查询打开cmake手册,查询cmake_parse_arguments关键字即可,如下图语法cmake_parse_arguments(<prefix><options><one_value_keywords><multi_value_keywords><args>...)cmake_parse_argum......
  • pipelines file
    1.自定义实现文件存储:(1).spidertest/pipelines.py:importcodecsimportjsonclassJsonPipeline(object):#自定义json文件的导出def__init__(self):#打开json文件self.file=codecs.open('test.json','w',encoding="utf-8")d......
  • 模板函数的函数参数为函数或函数对象的传参
    模板函数有模板参数和函数参数,重载调用操作符的类及函数指针作为模板参数,其函数参数及函数参数的传参,测试代码如下:#include<iostream>usingnamespacestd;//keystrings1("Hello");strings2("World");//重载了调用操作符的类其对象称为函数对象classcmp{pub......
  • c 语言 数组(一维)做函数参数
    @TOC前言函数参数:函数参数是函数内外连接的接口,可以互通数据。一、传递一维数组函数调用时,实参是给形参初始化,所以,实参传递什么类型的数据,形参就以什么类型去接住。比如一维数组,如下:函数fun1传递a,因为数组名就是数组的首地址,所以用int*p形参。函数fun2传递&a,是一维数组......
  • jenkins05-参数化pipeline
    参数化pipeline:是指可以通过传参来决定pipeline的行为。参数化让写pipeline就像写函数,而函数意味着可重用、更抽象。所以,通常使用参数化pipeline来实现一些通用的pipeline。1#......
  • sklearn.utils.class_weight.compute_class_weight
     https://blog.csdn.net/FY_2018/article/details/116951278compute_class_weight这个函数的作用是对于输入的样本,平衡类别之间的权重,下面写段测试代码测试这个函数:#coding:utf-8fromsklearn.utils.class_weightimportcompute_class_weightclass_weight='balanced......