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))
相关推荐
绍兴贝贝7 分钟前
代码随想录算法训练营第四十六天|LC647.回文子串|LC516.最长回文子序列|动态规划总结
数据结构·人工智能·python·算法·动态规划·力扣
___波子 Pro Max.1 小时前
Python参数解析默认True变False
python
逐鹿人生1 小时前
【人工智能工程师系列】一【全面Python3.8入门+进阶】ch.3
人工智能
橙露1 小时前
面向对象编程思想:Java 与 Python 的封装、继承与多态对比分析
java·开发语言·python
Jia ming1 小时前
《智能法官软件项目》—法条检索模块
python·教学·案例·智能法官软件
杨浦老苏1 小时前
本地优先的AI个人助手Moltis
人工智能·docker·ai·群晖
OBS插件网1 小时前
OBS直播如何给人脸加口罩特效?OBS口罩特效插件下载安装教程
人工智能·数码相机·语音识别·产品经理
LitchiCheng1 小时前
Mujoco 如何添加 Apriltag 并获得相机视野进行识别
人工智能·python·开源
想用offer打牌2 小时前
一站式了解Agent Skills
人工智能·后端·ai编程
一切尽在,你来2 小时前
LangGraph快速入门
人工智能·python·langchain·ai编程