11.Pipelines

本教程是ML系列的一部分。 在此步骤中,您将了解如何以及为何使用管道清理建模代码。

What Are Pipelines

管道是保持数据处理和建模代码有序的简单方法。 具体来说,管道捆绑了预处理和建模步骤,因此您可以像使用单个包一样使用整个捆绑包。

许多数据科学家在没有管道的情况下将模型混合在一起,但是管道有一些重要的好处。 其中包括:

  1.      清洁代码:您无需在每个处理步骤中跟踪您的训练(和验证)数据。 在每个处理步骤中计算数据会变得混乱。 使用管道,您无需手动跟踪每个步骤。
  2.      更少的错误:错误应用或忘记预处理步骤的机会较少。
  3.      更容易生产:将模型从原型转换为可大规模部署的设备可能会非常困难。 我们不会在这里讨论许多相关问题,但管道可以提供帮助。
  4.      更多模型测试选项:您将在下一个教程中看到一个示例,其中包含交叉验证。

Examples

我们不再介绍如何加载数据,现在想下一下,你已经有了训练和测试数据。

【1】

import pandas as pd
from sklearn.model_selection import train_test_split# Read Data
data = pd.read_csv('../input/melb_data.csv')
cols_to_use = ['Rooms', 'Distance', 'Landsize', 'BuildingArea', 'YearBuilt']
X = data[cols_to_use]
y = data.Price
train_X, test_X, train_y, test_y = train_test_split(X, y)

您有一个使用Imputer填充缺失值的建模过程,然后使用RandomForestRegressor进行预测。 这些可以与make_pipeline函数捆绑在一起,如下所示。

【2】

from sklearn.ensemble import RandomForestRegressor
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import Imputermy_pipeline = make_pipeline(Imputer(), RandomForestRegressor())

您现在可以使用此管道作为融合整体来拟合和预测。

【3】

my_pipeline.fit(train_X, train_y)
predictions = my_pipeline.predict(test_X)

进行比较,这里有一个不使用管道的例子:

【4】

my_imputer = Imputer()
my_model = RandomForestRegressor()imputed_train_X = my_imputer.fit_transform(train_X)
imputed_test_X = my_imputer.transform(test_X)
my_model.fit(imputed_train_X, train_y)
predictions = my_model.predict(imputed_test_X)

这个特殊的管道只是代码优雅的一个小小改进。 但随着数据处理变得越来越复杂,管道变得越来越有价值。

Understanding Pipelines

大多数scikit-learn对象都是转换模型变形金刚。

变形金刚用于建模前的预处理。 Imputer类(用于填充缺失值)是变形金刚的示例。随着时间的推移,您将学习更多变形金刚,并且您将经常使用多个变形金刚。

模型用于进行预测。在将数据放入模型之前,通常会对数据进行预处理。

您可以根据应用方式判断对象是变形金刚还是模型。安装变形金刚后,使用transform命令应用它。在拟合模型后,将其与predict命令一起应用。您的管道必须从变形金刚步骤开始,并以模型结束。无论如何,这是你想要的。

最终,您将需要应用更多变形金刚并更灵活地组合它们。我们稍后将在高级管道教程中介绍此内容。


Your Turn

获取建模代码并将其转换为使用管道。现在,您需要对管道外的分类变量进行one-hot encoding(即在将数据放入管道之前)。

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

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

相关文章

ubuntu服务器创建共享文件夹,Ubuntu samba安装创建共享目录及使用

Ubuntu samba更新了很多版本更新,我本人认为Ubuntu samba是很好使的文件系统,在此向大家推荐。如今技术不断更新,各种使用文件都已经淘汰。我认为还是有很不错的如Ubuntu samba值得大家来运用。一. Ubuntu samba的安装:sudo apt-get insall s…

【POJ - 2337】Catenyms(欧拉图相关,欧拉通路输出路径,tricks)

题干: A catenym is a pair of words separated by a period such that the last letter of the first word is the same as the last letter of the second. For example, the following are catenyms: dog.gophergopher.ratrat.tigeraloha.alohaarachnid.dog A…

12.Cross-Validation

本教程是ML系列的一部分。 在此步骤中,您将学习如何使用交叉验证来更好地衡量模型性能。 What is Cross Validation 机器学习是一个迭代过程。 您将面临关于要使用的预测变量,要使用的模型类型,提供这些模型的参数等的选择。我们通过测量各…

服务器不显示u盘,服务器不读u盘启动

服务器不读u盘启动 内容精选换一换介绍使用Atlas 200 DK前需要准备的配件及开发服务器。Atlas 200 DK使用需要用户提前自购如表1所示配件。准备一个操作系统为Ubuntu X86架构的服务器,用途如下:为Atlas 200 DK制作SD卡启动盘。读卡器或者Atlas 200 DK会通…

【FZU - 2039】Pets(二分图匹配,水题)

题干: 有n个人,m条狗,然后会给出有一些人不喜欢一些狗就不会购买,问最多能卖多少狗。。 Input There is a single integer T in the first line of the test data indicating that there are T(T≤100) test cases. In the fir…

Leetcode刷题实战(1):Two Sum

Leetcode不需要过多介绍了,今天一边开始刷题一边开始总结: 官网链接如下:https://leetcode.com/problemset/all/ 题1描述: 1Two Sum38.80%Easy Given an array of integers, return indices of the two numbers such that they…

信息服务器为什么选择在贵州,为啥云服务器在贵州

为啥云服务器在贵州 内容精选换一换当用户已在ECS服务购买GPU加速型云服务器,并且想在该云服务器上运行应用时,可以通过纳管的方式将该云服务器纳入VR云渲游平台管理。登录控制台,在服务列表中选择“计算 > VR云渲游平台”。在左侧导航栏&…

LeetCode刷题实战(2):Add Two Numbers

题2描述: 2Add Two Numbers29.10%Medium You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a…

【BZOJ - 1305】dance跳舞(拆点网络流,建图,最大流,残留网络上跑最大流)

题干: 一次舞会有n个男孩和n个女孩。每首曲子开始时,所有男孩和女孩恰好配成n对跳交谊舞。每个男孩都不会和同一个女孩跳两首(或更多)舞曲。有一些男孩女孩相互喜欢,而其他相互不喜欢(不会“单向喜欢”&am…

《TCP/IP详解》学习笔记(四):ICMP 协议、ping 和 Traceroute

ICMP 协议介绍 前面讲到了,IP 协议并不是一个可靠的协议,它不保证数据被成功送达,那么自然的,保证数据送达的工作应该由其他的模块来完 成。其中一个重要的模块就是 ICMP(网络控制报文)协议。 当传送 IP 数据包发生错误--比如主机…

【HDU - 1530】Maximum Clique(最大团问题,图论)

题干: Given a graph G(V, E), a clique is a sub-graph g(v, e), so that for all vertex pairs v1, v2 in v, there exists an edge (v1, v2) in e. Maximum clique is the clique that has maximum number of vertex. Input Input contains multiple tests. …

Apollo自动驾驶入门课程第①讲—无人驾驶概览

目录 1. 全面了解自动驾驶主要模块 2. 了解无人车的运作方式 3. 开放式软件栈 4. 本节其他重点 本文转自微信公众号:Apollo开发者社区 原创: 阿波君 Apollo开发者社区 8月1日 在Apollo 3.0发布的同时,我们面向更多对自动驾驶感兴趣的开发…

【CF - 699C】 Vacations (日程安排 dp)

题干: Vasya has n days of vacations! So he decided to improve his IT skills and do sport. Vasya knows the following information about each of this n days: whether that gym opened and whether a contest was carried out in the Internet on that day…

《TCP/IP详解》学习笔记(五):IP选路、动态选路

静态 IP 选路 1一个简单的路由表 选路是 IP 层最重要的功能之一。前面的部分已经简单的讲过路由器是如何根据 IP 数据包的 IP 地址来选择路由的。 这里就不重复了。首先来看看一个简单的系统路由表: 对于一个给定的路由器,可以打印出五种不同的 flag: …

LeetCode刷题实战(43):Multiply Strings

题目描述: 43Multiply Strings28.7%Medium Given two non-negative integers num1 and num2 represented as strings, return the product of num1 and num2, also represented as a string. Example 1: Input: num1 "2", num2 "3" Output…

【2018山东省赛 - A】Anagram(贪心,费用流,KM算法)

题干: Problem Description Orz has two strings of the same length: A and B. Now she wants to transform A into an anagram of B (which means, a rearrangement of B) by changing some of its letters. The only operation the girl can make is to “incr…

【2018ACM山东省赛 - B】Bullet(二分 + 二分图匹配,匈牙利算法,卡常)

题干: Problem Description In GGO, a world dominated by gun and steel, players are fighting for the honor of being the strongest gunmen. Player Shino is a sniper, and her aimed shot kills one monster at a time. Now she is in an nnn \times nnn m…

13.Data Leakage

本教程是ML系列的一部分。在此步骤中,你将学习什么是data leakage及如何预防它。 What is Data Leakage 数据泄漏是数据科学家需要理解的最重要问题之一。 如果您不知道如何防止它,则会频繁出现泄漏,并且会以最微妙和危险的方式破坏您的模…

0.Overview----Machine Learning

本文为Kaggle Learn的Machine Learning课程的中文翻译,原文链接为:https://www.kaggle.com/learn/machine-learning 1.How Models Work The first step if youre new to machine learning 2.Explore Your Data Load data and set up your environment …

【2018ACM山东省赛 - C】Cities(最小生成树变形优化,贪心思维)

题干: Problem Description There are nnn cities in Byteland, and the ithi_{th}ith​ city has a value aia_iai​. The cost of building a bidirectional road between two cities is the sum of their values. Please calculate the minimum cost of connec…