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