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))
相关推荐
forEverPlume13 分钟前
golang如何实现日志按级别过滤_golang日志按级别过滤实现教程
jvm·数据库·python
qq_4112624231 分钟前
四博 AI 双目智能音箱方案:把“会说话的音箱”升级成“会表达、会感知、会控制”的 AI 终端
人工智能·智能音箱
努力努力再努力FFF34 分钟前
跨境电商运营想用AI优化广告和选品,该从哪里开始学?
人工智能
薛定猫AI1 小时前
【深度解析】Claude Code Skills 工作流:用知识图谱、设计规范与 Agent 工具链提升 AI 编程效率
人工智能·知识图谱·设计规范
AI自动化工坊1 小时前
Cloudflare Project Think技术实践:零成本AI Agent部署架构深度解析
人工智能·架构·agent·cloudflare
IT_陈寒1 小时前
JavaScript里这个隐式类型转换的坑,我终于爬出来了
前端·人工智能·后端
星幻元宇VR1 小时前
VR航空航天科普设备助力航天知识普及
人工智能·科技·学习·安全·vr·虚拟现实
Agent产品评测局2 小时前
制造业生产调度自动化落地,完整步骤与避坑指南:2026企业级智能体选型与实战全景
运维·人工智能·ai·chatgpt·自动化
m0_624578592 小时前
MySQL主从复制支持跨版本吗_不同版本间同步的注意事项
jvm·数据库·python
志栋智能2 小时前
超自动化巡检:让合规与审计变得轻松简单
运维·网络·人工智能·自动化