11.Pipelines
本教程是ML系列的一部分。 在此步驟中,您將了解如何以及為何使用管道清理建模代碼。
What Are Pipelines
管道是保持數據處理和建模代碼有序的簡單方法。 具體來說,管道捆綁了預處理和建模步驟,因此您可以像使用單個包一樣使用整個捆綁包。
許多數據科學家在沒有管道的情況下將模型混合在一起,但是管道有一些重要的好處。 其中包括:
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(即在將數據放入管道之前)。
總結
以上是生活随笔為你收集整理的11.Pipelines的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lights.exe是什么进程 有什么用
- 下一篇: LimeWire.exe进程文件介绍