sklearn 的轉(zhuǎn)換器通常與分類器,回歸器或者其他的評估器組合以構(gòu)建復(fù)合評估器。常用的工具是 Pipeline。Pipeline 通常用于與特征單元結(jié)合,將轉(zhuǎn)換器的輸出連接到復(fù)合的特征空間。TransformedTargetRegressor 用于轉(zhuǎn)換標(biāo)簽(target),相反 Pipeline 僅轉(zhuǎn)換觀測數(shù)據(jù)(X)。
Pipeline 可將多個(gè)評估器鏈接為一個(gè),順序執(zhí)行每個(gè)評估器。這很有用,因?yàn)樘幚頂?shù)據(jù)通常有固定的步驟,例如特征選擇,歸一化和分類。只需要調(diào)用一次 fit 和 predict 就能夠在數(shù)據(jù)上擬合整個(gè)評估器序列,還可以使用柵格搜索一次遍歷全部參數(shù)。
Usage:
Pipeline 由一個(gè) (key, value) 列表構(gòu)建,key 是評估器對象 value 的名稱。
from sklearn.pipeline import Pipeline
from sklearn.svm import SVC
from sklearn.decomposition import PCA
estimators = [('reduce_dim', PCA()), ('clf', SVC())]
pipe = Pipeline(estimators)
print(pipe)
Output:
Pipeline(memory=None,
steps=[('reduce_dim', PCA(copy=True, ...)),
('clf', SVC(C=1.0, ...)]
使用工具函數(shù) make_pipeline 更加便捷構(gòu)建 Pipeline,只用傳遞評估器對象,名稱將自動(dòng)生成。