python中sklearn的pipeline模塊實(shí)例詳解
最近在看《深度學(xué)習(xí):基于Keras的Python實(shí)踐(魏貞原)》這本書,書中8.3創(chuàng)建了一個(gè)Scikit-Learn的Pipeline,首先標(biāo)準(zhǔn)化數(shù)據(jù)集,然后創(chuàng)建和評(píng)估基線神經(jīng)網(wǎng)絡(luò)模型,代碼如下:
# 數(shù)據(jù)正態(tài)化,改進(jìn)算法steps = []steps.append((’standardize’, StandardScaler()))steps.append((’mlp’, model))pipeline = Pipeline(steps)kfold = KFold(n_splits=10, shuffle=True, random_state=seed)results = cross_val_score(pipeline, x, Y, cv=kfold)print(’Standardize: %.2f (%.2f) MSE’ % (results.mean(), results.std()))
而PipeLine是什么來的呢?
Pipelines and composite estimators(官方文檔)
轉(zhuǎn)換器通常與分類器,回歸器或其他估計(jì)器組合在一起,以構(gòu)建復(fù)合估計(jì)器。最常用的工具是Pipeline。Pipeline通常與FeatureUnion結(jié)合使用,F(xiàn)eatureUnion將轉(zhuǎn)換器的輸出連接到一個(gè)復(fù)合特征空間中。 TransformedTargetRegressor處理轉(zhuǎn)換目標(biāo)(即對(duì)數(shù)變換y)。相反,Pipelines僅轉(zhuǎn)換觀察到的數(shù)據(jù)(X)。
Pipeline可用于將多個(gè)估計(jì)器鏈接為一個(gè)。這很有用,因?yàn)樵谔幚頂?shù)據(jù)時(shí)通常會(huì)有固定的步驟順序,例如特征選擇,歸一化和分類。Pipeline在這里有多種用途:
方便和封裝:只需調(diào)用一次fit并在數(shù)據(jù)上進(jìn)行一次predict即可擬合整個(gè)估計(jì)器序列。 聯(lián)合參數(shù)選擇:可以一次對(duì)Pipeline中所有估計(jì)器的參數(shù)進(jìn)行網(wǎng)格搜索(grid search )。 安全性:通過確保使用相同的樣本來訓(xùn)練轉(zhuǎn)換器和預(yù)測(cè)器,Pipeline有助于避免在交叉驗(yàn)證中將測(cè)試數(shù)據(jù)的統(tǒng)計(jì)信息泄漏到經(jīng)過訓(xùn)練的模型中。Pipeline是使用 (key,value) 對(duì)的列表構(gòu)建的,其中key是包含要提供此步驟名稱的字符串,而value是一個(gè)估計(jì)器對(duì)象:
from sklearn.pipeline import Pipelinefrom sklearn.svm import SVCfrom sklearn.decomposition import PCAestimators = [(’reduce_dim’, PCA()), (’clf’, SVC())]pipe = Pipeline(estimators)pipe
output:
函數(shù)make_pipeline是構(gòu)建pipelines的簡(jiǎn)寫;它接受不同數(shù)量的估計(jì)器,并返回一個(gè)pipeline。它不需要也不允許命名估計(jì)器。而是將其名稱自動(dòng)設(shè)置為其類型的小寫字母:
from sklearn.pipeline import make_pipelinefrom sklearn.naive_bayes import MultinomialNBfrom sklearn.preprocessing import Binarizermake_pipeline(Binarizer(), MultinomialNB())
output:
總結(jié)
到此這篇關(guān)于python中sklearn的pipeline模塊的文章就介紹到這了,更多相關(guān)python pipeline模塊內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. vue實(shí)現(xiàn)移動(dòng)端返回頂部2. asp讀取xml文件和記數(shù)3. 7道關(guān)于JS this的面試題,你能答對(duì)幾個(gè)4. Python如何實(shí)現(xiàn)感知器的邏輯電路5. python基于scrapy爬取京東筆記本電腦數(shù)據(jù)并進(jìn)行簡(jiǎn)單處理和分析6. CSS自定義滾動(dòng)條樣式案例詳解7. python利用opencv實(shí)現(xiàn)顏色檢測(cè)8. vue 驗(yàn)證兩次輸入的密碼是否一致的方法示例9. xml中的空格之完全解說10. PHP實(shí)現(xiàn)基本留言板功能原理與步驟詳解
