前期準(zhǔn)備之Keras的scikit-learn接口包裝器
Keras是一個(gè)深度學(xué)習(xí)庫(kù),包含高效的數(shù)字庫(kù)Theano和TensorFlow。是一個(gè)高度模塊化的神經(jīng)網(wǎng)絡(luò)庫(kù),支持CPU和GPU。
Scikit-learn是基于Scipy為機(jī)器學(xué)習(xí)建造的的一個(gè)Python模塊,他的特色就是多樣化的分類,回歸和聚類的算法包括支持向量機(jī),邏輯回歸,樸素貝葉斯分類器,隨機(jī)森林,GradientBoosting,聚類算法和DBSCAN。而且也設(shè)計(jì)出了Pythonnumerical和scientificlibrariesNumpyandScipy。
我們可以通過(guò)包裝器將Sequential模塊(僅有一個(gè)輸入)作為Scikit-learn工作流的一部分,相關(guān)的包裝器定義在keras.wrappers.scikit_learn.py中。
1:目前有兩個(gè)包裝器可用
其中實(shí)現(xiàn)了sklearn的分類器接口是下面包裝器:
1keras.wrappers.scikit_learn.KerasClassifier(build_fn=None,**sk_params)
實(shí)現(xiàn)了sklearn的回歸器接口的是下面包裝器:
1keras.wrappers.scikit_learn.KerasRegressor(build_fn=None,**sk_params)
2,參數(shù)build_fn:可調(diào)用的函數(shù)或者類對(duì)象
build_fn應(yīng)構(gòu)造,編譯并返回一個(gè)Keras模型,該模型將稍后用于訓(xùn)練/測(cè)試,build_fn值可能為以下三種之一:
1,一個(gè)函數(shù)
2,一個(gè)具有call方法的類對(duì)象
3,None,代表你的類繼承自KerasClassifier或者KerasRegressor,其call方法為其父類call方法
3,參數(shù)sk_params:模型參數(shù)和訓(xùn)練參數(shù)
sk_params以模型參數(shù)和訓(xùn)練(超)參數(shù)作為參數(shù),合法的模型參數(shù)為build_fn的參數(shù),注意:‘build_fn’應(yīng)提供其參數(shù)的默認(rèn)值。所以我們不傳遞任何值給sk_params也可以創(chuàng)建一個(gè)分類器/回歸器。
sk_params還接受用于調(diào)用fit,predict,predict_proba和score方法的參數(shù),如nb_epoch,batch_size等。這些用于訓(xùn)練或預(yù)測(cè)的參數(shù)按如下順序選擇:
傳遞給fit,predict,predict_proba和score的字典參數(shù)
傳遞個(gè)sk_params的參數(shù)
keras.models.Sequential,fit,predict,predict_proba和score的默認(rèn)值
當(dāng)使用scikit-learn的grid_search接口時(shí),合法的可轉(zhuǎn)換參數(shù)是你可以傳遞給sk_params的參數(shù),包括訓(xùn)練參數(shù)。即,你可以使用grid_search來(lái)搜索最佳的batch_size或nb_epoch以及其他模型參數(shù)。
以上內(nèi)容為大家介紹了Python機(jī)器學(xué)習(xí)之使用Keras進(jìn)行回歸預(yù)測(cè),希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。