【Python机器学习】算法链与管道——构建管道

devtools/2024/10/19 6:18:51/

目录

1、首先,我们构建一个由步骤列表组成的管道对象。

2、向任何其他scikit-learn估计器一样来拟合这个管道

3、调用pipe.score


我们来看下如何使用Pipeline类来表示在使用MinMaxScaler缩放数据后,再训练一个SVM的工作流程(暂时不用网格搜索):

1、首先,我们构建一个由步骤列表组成的管道对象。

每个步骤都是一个元祖,其中包含一个名称(选定的任意字符)和一个估计器的示例:

python">from sklearn.pipeline import Pipeline
pipe=Pipeline([('scaler',MinMaxScaler()),('svm',SVC())])

这里我们创建了两个步骤:1、‘scaler’,是MinMaxScaler的实例;2、‘svm’,是SVC的实例。

2、向任何其他scikit-learn估计器一样来拟合这个管道
python">pipe.fit(X_train,y_train)

这里pipe.fit首先对第一个步骤(缩放器)调用fit,然后使用该缩放器对训练数据进行变换,最后用缩放后的数据来拟合SVM

3、调用pipe.score

这一步可以在测试数据上进行评估:

python">print('在测试集的精度:{:.4f}'.format(pipe.score(X_test,y_test)))

如果对管道调用score方法,则首先使用缩放器对测试数据进行变换,然后利用缩放后的测试数据对SVM调用score方法。

可以看到,这个结果与手动进行数据变换是相同的。利用管道,我们减少了“预处理+分类”过程所需要的代码量。

但是,使用管道的主要有点在于,现在我们可以在cross_val_score火GridSearchCV中使用这个估计器。


http://www.ppmy.cn/devtools/57852.html

相关文章

Hive排序字段解析

Hive排序字段解析 在Hive中,CLUSTER BY、DISTRIBUTE BY、SORT BY和ORDER BY是用于数据分发和排序的关键子句,它们各自有不同的用途和性能特点。让我们逐一解析这些子句: 1. DISTRIBUTE BY 用途: 主要用于控制如何将数据分发到Reducer。它可…

Oracle 解决4031错误

一、问题描述 什么是4031错误和4031错误产生的原因: 简单一个句话概括: 由于服务器一直在执行大量的硬解析,导致Oracle 的shared pool Free空间碎片过多,大的chunk不足, 当又一条复杂的sql语句要硬解析时, 缺少1个足够大的Free chunk, 通常就会报4031错误. 二、解决方法 临…

LeetCode 3101.交替子数组计数:等差数列求和(较详题解)

【LetMeFly】3101.交替子数组计数:等差数列求和(较详题解) 力扣题目链接:https://leetcode.cn/problems/count-alternating-subarrays/ 给你一个二进制数组 nums 。 如果一个子数组中 不存在 两个 相邻 元素的值 相同 的情况&a…

嵌入式c语言——类型修饰符

register,将变量保存在寄存器中,使得访问速度增加 const是常量,static是静态量,volatile是

文化财经macd顶底背离幅图指标公式源码

DIFF:EMA(CLOSE,12) - EMA(CLOSE,26); DEA:EMA(DIFF,9); MACD:2*(DIFF-DEA),COLORSTICK; JC:CROSS(DIFF,DEA); SC:CROSSDOWN(DIFF,DEA); N1:BARSLAST(JC)1; N2:BARSLAST(SC)1; HH:VALUEWHEN(CROSSDOWN(DIFF,DEA),HHV(H,N1));//上次MACD红柱期间合约最大值 HH2:VALUEWHE…

香橙派AIpro测评:yolo8+usb鱼眼摄像头的Camera图像获取及识别

一、前言 近期收到了一块受到业界人士关注的开发板"香橙派AIpro",因为这块板子具有极高的性价比,同时还可以兼容ubuntu、安卓等多种操作系统,今天博主便要在一块832g的香橙派AI香橙派AIpro进行YoloV8s算法的部署并使用一个外接的鱼眼USB摄像头…

Java信号量semaphore的原理与使用方法

Semaphore的基本概念 在Java中,Semaphore是位于java.util.concurrent包下的一个类。它的核心就是维护了一个许可集。简单来说,就是有一定数量的许可,线程需要先获取到许可,才能执行,执行完毕后再释放许可。 那么&…

深度解析:机器学习与深度学习的关系与区别

一、前言 在人工智能领域,机器学习与深度学习常常被提及并广泛应用。虽然它们在本质上都是通过数据训练模型以进行预测或分类,但两者之间存在着显著的区别和联系。本文将深入解析机器学习与深度学习的关系与区别,帮助读者更好地理解和应用这…