當資料預處理的工作較多時,可能會涉及更多的步驟,此時分別執行每個步驟會顯得過於繁瑣。
流水線(pipeline類)可以將每個評估器視為乙個步驟,然後將多個步驟作為乙個整體而依次執行,這樣,我們就無需分別執行每個步驟。
流水線具有最後乙個評估器的所有方法。當通過流水線物件呼叫方法£時,會執行這樣的過程(假設流水線具有n個評估器):
例如:當在流水線上呼叫fit方法時,將會依次在每個評估器上呼叫fit_transform方法,前乙個評估器將轉換之後的結果傳遞給下乙個評估器,直到最後乙個評估器呼叫fit方法為止(最後乙個評估器不會呼叫transform方法)。而當在流水線上呼叫predict方法時,則會依次在每個評估器上呼叫transform方法,在最後乙個評估器上呼叫predict方法。
from sklearn.pipeline import pipeline
x, y = load_boston(return_x_y=
true
)x_train, x_test, y_train, y_test = train_test_split(x, y, test_size=
0.25
, random_state=0)
#定義流水線步驟,型別為乙個列表,列表中的每個元素是元祖類別
#格式為:[(步驟名1, 評估器1), (步驟名2,評估器2)……(步驟名n,評估器n)]
steps =[(
'scaler'
, standardscaler())
,('knn'
,kneighborsregressor())
]p = pipeline(steps)
#設定流水線的引數,所有可用引數,可以通過get_params獲取
p.set_params(knn__n_neighbors=
3, knn__weights=
'distance'
)p.fit(x_train, y_train)
print
(p.score(x_test, y_test)
)
sklearn學習(模組列表)
sklearn模組 sklearn主要實現功能 大的模組分類 首頁列表中顯示 a.classification 分類 b.regression 回歸 c.clustering 聚類 d.dimensionality reduction 降低維度 e.model selection 模型選擇 f.pr...
sklearn初探(一) sklearn安裝
scikit learn 要求 警告 scikit learn 0.20是支援python 2.7和python 3.4的最後乙個版本。scikit learn現在需要python 3.5或更新版本。如果你已經有乙個合適的 numpy 和 scipy版本,安裝 scikit learn 最簡單的方法...
sklearn 線性回歸 sklearn 線性回歸
sklearn 線性回歸 資料集匯入,以及模型的建立,和線性回歸的應用。import matplotlib.pyplot as plt import numpy as np from sklearn import datasets,linear model from sklearn.metrics ...