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