11.Pipelines
本教程是ML系列的一部分。 在此步驟中,您將了解如何以及為何使用管道清理建模代碼。
What Are Pipelines
管道是保持?jǐn)?shù)據(jù)處理和建模代碼有序的簡(jiǎn)單方法。 具體來說,管道捆綁了預(yù)處理和建模步驟,因此您可以像使用單個(gè)包一樣使用整個(gè)捆綁包。
許多數(shù)據(jù)科學(xué)家在沒有管道的情況下將模型混合在一起,但是管道有一些重要的好處。 其中包括:
Examples
我們不再介紹如何加載數(shù)據(jù),現(xiàn)在想下一下,你已經(jīng)有了訓(xùn)練和測(cè)試數(shù)據(jù)。
【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)您有一個(gè)使用Imputer填充缺失值的建模過程,然后使用RandomForestRegressor進(jìn)行預(yù)測(cè)。 這些可以與make_pipeline函數(shù)捆綁在一起,如下所示。
【2】
from sklearn.ensemble import RandomForestRegressor from sklearn.pipeline import make_pipeline from sklearn.preprocessing import Imputermy_pipeline = make_pipeline(Imputer(), RandomForestRegressor())您現(xiàn)在可以使用此管道作為融合整體來擬合和預(yù)測(cè)。
【3】
my_pipeline.fit(train_X, train_y) predictions = my_pipeline.predict(test_X)進(jìn)行比較,這里有一個(gè)不使用管道的例子:
【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)這個(gè)特殊的管道只是代碼優(yōu)雅的一個(gè)小小改進(jìn)。 但隨著數(shù)據(jù)處理變得越來越復(fù)雜,管道變得越來越有價(jià)值。
Understanding Pipelines
大多數(shù)scikit-learn對(duì)象都是轉(zhuǎn)換模型變形金剛。
變形金剛用于建模前的預(yù)處理。 Imputer類(用于填充缺失值)是變形金剛的示例。隨著時(shí)間的推移,您將學(xué)習(xí)更多變形金剛,并且您將經(jīng)常使用多個(gè)變形金剛。
模型用于進(jìn)行預(yù)測(cè)。在將數(shù)據(jù)放入模型之前,通常會(huì)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。
您可以根據(jù)應(yīng)用方式判斷對(duì)象是變形金剛還是模型。安裝變形金剛后,使用transform命令應(yīng)用它。在擬合模型后,將其與predict命令一起應(yīng)用。您的管道必須從變形金剛步驟開始,并以模型結(jié)束。無論如何,這是你想要的。
最終,您將需要應(yīng)用更多變形金剛并更靈活地組合它們。我們稍后將在高級(jí)管道教程中介紹此內(nèi)容。
Your Turn
獲取建模代碼并將其轉(zhuǎn)換為使用管道。現(xiàn)在,您需要對(duì)管道外的分類變量進(jìn)行one-hot encoding(即在將數(shù)據(jù)放入管道之前)。
總結(jié)
以上是生活随笔為你收集整理的11.Pipelines的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lights.exe是什么进程 有什么用
- 下一篇: 图解算法学习笔记(八):贪婪算法