[英]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.