机器学习python实践——关于管道模型Pipeline和网格搜索GridSearchCV的一些个人思考

最近在利用python跟着指导书进行机器学习的实践,在实践中使用到了Pipeline类方法和GridSearchCV类方法,并且使用过程中发现了一些问题,所以本文主要想记录并分享一下个人对于这两种类方法的思考,如果有误,请见谅,欢迎大家一起前来探讨。当然,如果这篇文章还能入得了各位“看官”的法眼,麻烦点赞、关注、收藏,支持一下!

本文主要想重点记录一下Pipeline类方法和GridSearchCV类方法在使用过程中的一些不易察觉的注意事项,花不多说,进入正文

一、Pipeline类方法使用过程中的注意事项

Pipeline类方法有一个关键参数:steps

1、steps的格式:由多个二维元组组成的多维列表,且列表中的最后一个元组代表估计器

2、steps中的元组格式为:(命名,转换器/估计器),命名我们可以随便设置,但是一定要是字符串

3、steps中的元组不能仅含一个元素,即不可以写成:(命名,)

4、可以通过“passthrough”或者“None”来删除转换器/估计器,即:(命名,'passtrhough')(命名,'None')

二、GridSearchCV类方法使用过程中的注意事项

GridSearchCV类方法有三个关键参数:estimatorparam_gridcv

1、estimator:带有score方法的估计器,如果估计器没有score方法,必须通过GridSearchCV类方法的参数“scoring”来指定评分策略

2、param_grid:参数字典,该字典是键为字符串形式,值为数组形式

3、cv:交叉验证策略,当cv的值为一个整数或者None时,如果估计器是分类器,则采用的是分层交叉验证,即StratifiedKFold,对于其它情况适用的是k折交叉验证,即KFold

三、结合Pipeline和GridSearchCV进行模型选择的注意事项

1、传递给GridSearchCV的Pipeline实例化对象,必须含有完整的steps列表

正确形式:

pipe=Pipeline([('scaler',StandardScaler()),('reg',MLPRegressor())])
grid=GridSearchCV(pipe,param_grid=params,cv=3)

错误形式:

pipe=Pipeline([('scaler',),('reg',)])
grid=GridSearchCV(pipe,param_grid=params,cv=3)

2、结合Pipeline和GridSearchCV进行模型选择时,Pipeline实例化对象的转换器和估计器,在GridSearchCV中不会被调用,举例说明:

#定义参数字典
params=[{'reg':[MLPRegressor(random_state=38,max_iter=1600)],'scaler':[StandardScaler(),None]},{'reg':[RandomForestRegressor(random_state=38)],'scaler':[None]}]
pipe=Pipeline([('scaler',MinMaxScaler()),('reg',SVC)])
#对管道模型进行网格搜索
grid=GridSearchCV(pipe,param_grid=params,cv=3,verbose=20)

运行上述代码,结果为:

从结果中不难看出,参数字典中的参数组合有三种,GridSearchCV对三种不同的参数组合根据cv值分别进行了交叉验证;同时,Pipeline实例化对象pipe中的转换器MinMaxScaler()以及估计器SVC()并未被执行

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/39049.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【微服务】微服务之Feign 与 Ribbon

文章目录 强烈推荐引言优点Feign示例什么是Ribbon?Ribbon 的优点Netflix Feign 和 Ribbon整合Feign 与 Ribbon 的关系Feign 与 Ribbon 结合使用的示例配置文件(application.yml)说明: Feign 与 Ribbon 结合使用的应用场景1. 动态服…

物联网的技术和应用有哪些?

随着科技的飞速发展,物联网已经成为连接世界的重要纽带,塑造着我们未来的生活。我们一起深入探索物联网的前沿技术和前瞻性应用,一窥未来的可能性。 获取物联网解决方案,YesPMP平台一站式物联网开发服务。 提示:智慧家…

(2024)docker-compose实战 (3)部署mysql

前言 本次仅搭建单一的mysql服务.如果不确定镜像的配置文件目录, 可以通过 docker inspect 镜像名 来查看具体的配置信息.MYSQL_ROOT_HOST: % 该语句可以允许mysql进行远程连接.使用docker-compose.yaml时, 请自行去除注释. 目录结构 web/ /web/目录 | ├─ mysql/…

Python后端学习路线

学习Python后端开发框架是一个系统的过程,比较推荐的学习路线如下(假设已经具备Python和MySQL基础,但是对于后端框架不熟悉): 1. 复习并深化Python基础知识 数据结构与算法:列表、字典、集合、元组等。面…

图形的搭建

例一: 输入描述: 多组输入,一个整数(2~20),表示输出的行数,也表示组成“X”的反斜线和正斜线的长度。 输出描述: 针对每行输入,输出用“*”组成的X形图案。 示例一&…

Java微服务架构设计与实现详解

Java微服务架构设计与实现详解 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将深入探讨Java微服务架构的设计与实现,帮助您理解如何利用J…

爬数据是什么意思?

爬数据的意思是:通过网络爬虫程序来获取需要的网站上的内容信息,比如文字、视频、图片等数据。网络爬虫(网页蜘蛛)是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。 学习一些爬数据的知识有什么用呢&#x…

IPIDEA代理IP助力高效数据采集

IPIDEA代理IP助力高效数据采集 文章目录 IPIDEA代理IP助力高效数据采集📑前言一、爬虫数据采集痛点二、代理IP解决爬虫痛点2.1 为什么可以2.2 选择代理IP的关键因素 三、IPIDEA海外IP代理的优势3.1 IPIDEA的显著优势3.2 IPIDEA的代理类型及应用 四、IPIDEA爬虫实战4…

Fragment+Viewpage2+FragmentStateAdapter实现滑动式标签布局

大家好,我是网创有方,今天记录下标签布局的实现方法,先看下效果图。 第一步:编写一个activity或者fragment。内含有一个viewpager2的适配器,适配器类型为FragmentStateAdapter。 ​ public class MediaCreateFragment…

VideoView视频组件

简介 VideoView 在Android中是一个用户界面组件,它允许开发者在Android设备的屏幕上播放视频文件。它是Android SDK的一部分,位于android.widget包中。VideoView提供了一种简单的方法来嵌入和控制视频播放,包括设置视频源、开始、暂停、 seek…

CV每日论文--2024.6.27

1、Text-Animator: Controllable Visual Text Video Generation 中文标题:Text-Animator:可控视觉文本视频生成 简介:视频生成是各行业中具有重要价值但同时也极具挑战性的任务,例如在游戏、电子商务和广告领域。在文本到视频(T2V)生成中,一…

前端Bug 修复手册

1.前端长整数精度丢失问题 (1)问题 在前后端联调时,发现后端有一个接口返回的值和前端页面上展示的值不一致。 后端Java实现的接口如下,返回一个json格式的大整数 123456789123456789: 但是前端请求这个接口后&…

Spring每日面试题(day1)

目录 JavaWeb三大组件依赖注入的方式Autowire和Resurce有什么区别?Spring Boot的优点Spring IoC是什么?说说Spring Aop的优点Component和Bean的区别自定义注解时使用的RetentionPolicy枚举类有哪些值?Spring Boot自动装配原理Spring MVC工作原…

Charles抓包工具系列文章(三)-- 接口映射工具(Map Remote和Map Local)

一、背景 前文的http请求都是静态的,像compose a new request,仅适用于接口的自测。 回放repeat 一个 http 请求,也无法做到动态调试。 这里的动态还是静态,是站在客户端的角度,数据是实时的,可调试的。 …

提升入住率|智慧酒店解决方案,打造有温度的居住体验!

近年来,智慧酒店被越来越多的人关注,由生物识别、物联网技术和互联网技术融合产生的智慧酒店解决方案,不仅可以提升顾客在酒店的入住体验,还可以帮助酒店降低运营成本,这也让越来越的酒店选择了智慧酒店的赛道&#xf…

深入解析Linux的使用(下)

深入解析Linux的使用(下) 在上一篇文章中,我们介绍了Linux的基础知识,包括基本命令、文件系统和权限管理。本文将继续探讨软件安装和系统管理等高级操作。 4. 软件安装 4.1 使用包管理器 不同的Linux发行版使用不同的包管理器…

有哪些常见的网络带宽和延迟问题

网络带宽和延迟问题是影响网络性能和用户体验的重要因素。以下是一些常见的网络带宽和延迟问题,结合参考文章中的相关数字和信息进行归纳和说明: 一、网络带宽问题 带宽不足 问题描述:当网络连接的带宽不足以满足当前的网络流量需求时&…

人工智能--目标检测

欢迎来到 Papicatch的博客 文章目录 🍉引言 🍉概述 🍈目标检测的主要流程通常包括以下几个步骤 🍍数据采集 🍍数据预处理 🍍特征提取 🍍目标定位 🍍目标分类 🍈…

Oracle PL / SQL约束

约束是表及其列的规则,用于约束可以插入,更新或删除的数据的方式和数据。 约束对列和表都可用。 列约束 列可以具有定义可以将什么值列表输入到其中的规则。 NOT NULL约束意味着列必须具有值。 它不能为未知,或为空。 下表使用DDL创建具…

文件夹读取难题:详解原因与数据恢复策略

一、文件夹读取不到文件的现象描述 在日常的计算机使用中,有时我们会遇到文件夹读取不到文件的情况。这通常表现为在尝试打开某个文件夹时,其中的文件列表并未正常显示,或者文件虽然显示但无法访问。这种问题不仅影响用户的工作效率&#xf…