sklearn.pipeline的用法介绍

sklearn.pipeline可以将多个数据预处理步骤和机器学习模型组合,成一个整体,从而简化了机器学习的流程。 sklearn.pipeline类可以将多个算法模型串联起来,比如将特征提取、归一化、分类组织在一起形成一个典型的机器学习问题工作流,主要带来两点好处:

  • 1.直接调用 fit 和 predict 方法来对pipeine中的所有算法模型进行训练和预测。
  • 2.可以结合gid search对参数进行选择,具体而言,Pipeline 实现了对全部步骤的流式化封装和管理,可以很方便地使参数集在新数据集(比如测试集)上被重复使用。

下面是一个简单的例子,展示了如何使用 Pipelne 对训练集和测试集进行如下操作: 先用 Siandardscaler对数据集每一列做标准化处理(是transfomer),再用PCA将原始的30维度特征压缩到2维度, 最后再用模型,LogisticRegression(是Estimator)。

调用Pipeline时,输入中元组构成的列表,每个元组第一个值为变量名,元组第二个元素是sklearn中的transfomer或Esimator,注意中间每一步是transformer,即它们必须包含fittransfomr方法,或者ft_tansform,最后一步是个Estimator,即最后一步模型要有fit方法,可以没有transform方法.

python 复制代码
from sklearn.preprocessing import Standardscalerfrom 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))
相关推荐
超龄超能程序猿4 分钟前
(三)PS识别:基于噪声分析PS识别的技术实现
图像处理·人工智能·计算机视觉
要努力啊啊啊6 分钟前
YOLOv3-SPP Auto-Anchor 聚类调试指南!
人工智能·深度学习·yolo·目标检测·目标跟踪·数据挖掘
好开心啊没烦恼9 分钟前
Python 数据分析:numpy,说人话,说说数组维度。听故事学知识点怎么这么容易?
开发语言·人工智能·python·数据挖掘·数据分析·numpy
生态遥感监测笔记15 分钟前
GEE利用已有土地利用数据选取样本点并进行分类
人工智能·算法·机器学习·分类·数据挖掘
面朝大海,春不暖,花不开22 分钟前
使用 Python 实现 ETL 流程:从文本文件提取到数据处理的全面指南
python·etl·原型模式
天天扭码43 分钟前
从图片到语音:我是如何用两大模型API打造沉浸式英语学习工具的
前端·人工智能·github
张彦峰ZYF1 小时前
从检索到生成:RAG 如何重构大模型的知识边界?
人工智能·ai·aigc
刘海东刘海东1 小时前
结构型智能科技的关键可行性——信息型智能向结构型智能的转变(修改提纲)
人工智能·算法·机器学习
2301_805054561 小时前
Python训练营打卡Day59(2025.7.3)
开发语言·python
**梯度已爆炸**2 小时前
NLP文本预处理
人工智能·深度学习·nlp