簡體   English   中英

使用 kfold 交叉驗證進行深度學習

[英]deep learning with kfold cross validation

我是神經網絡的新手,我想使用 K 折交叉驗證來訓練我的神經網絡。 我想使用 5 折 50 epochs 和 64 的批量大小我在 scikit 中找到了一個用於 k 折交叉驗證的函數

model_selection.cross_val_score(model_kfold, x_train, y_train, cv=5)

我沒有交叉驗證的代碼是

history = alexNet_model.fit(x_train, y_train, batch_size=batch_size, epochs=epochs, verbose=1,validation_data=(x_validation, y_validation))

我不知道如何使用 keras 和 scikit 在 python 中使用批量大小和紀元來實現這一點。 任何的想法?

確保在驗證模型時使用測試數據,而不是相同的訓練數據。 使用訓練數據進行驗證會使您的結果產生偏差。

在您的示例中,我將使用 KerasClassifier 模塊而不是 numpy KFolds 模塊。

from keras.wrappers.scikit_learn import KerasClassifier

導入模塊后,您的代碼將是(帶有結果輸出:

evaluator=KerasClassifier(build_fn=baseline_model, epochs=50, batch_size=64)
kfold=KFold(n_splits=5, shuffle=True, random_state=random_seed)

results=cross_val_score(evaluator, x_test, onehot_y_test, cv=kfold)
print("Model: %.2f%% (%.2F%%)" % (results.mean()*100, results.std()*100))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM