keras sklearn wapper

keras 提供了sklearn 的接口,我們可以很方便的將我們搭建的模型進(jìn)行封裝,這樣的話就可以調(diào)用sklearn中非常方便的類例如交叉驗證、網(wǎng)格搜索等功能。下面我貼一下利用網(wǎng)格搜索尋找最佳神經(jīng)元數(shù)目的代碼,大家一看就能明白該怎么用。

from sklearn.model_selection import GridSearchCV
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Dropout
from keras.wrappers.scikit_learn import KerasClassifier
def create_model(neurons1,neurons2):
    # create model
    model = Sequential()
    model.add(Dense(neurons1, input_dim=8, kernel_initializer='uniform', activation='linear', kernel_constraint=maxnorm(4)))
    model.add(Dropout(0.2))
    model.add(Dense(neurons2, kernel_initializer='uniform', activation='sigmoid'))
    # Compile model
    model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
    return model
model = KerasClassifier(build_fn=create_model, epochs=100, batch_size=10, verbose=0) #這里就封裝好了,大家直接把model當(dāng)做sklearn的一個類的對象來用就行
neurons1 = [1, 5, 10, 15, 20, 25, 30]
neurons2 = [1, 5, 10, 15, 20, 25, 30]
param_grid = dict(neurons1=neurons1,neurons2=neurons2)
grid = GridSearchCV(estimator=model, param_grid=param_grid, n_jobs=-1)

參考:https://keras-cn.readthedocs.io/en/latest/scikit-learn_API/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容