[英]Plot training, validation and test set on same plot
這就是我分割數據的方式
(X, y), (X_test, y_test) = mnist.load_data()
X_train, X_val, y_train, y_val = train_test_split(X,
y,
test_size=0.1,
random_state=1)
下面的代碼繪制了 X_train 和 X_val,我想添加 X_test 的情節
history = model.fit(
x= X_train,
y= y_train,
epochs = 10,
validation_data = (X_val, y_val),
batch_size = 128
)
from matplotlib import pyplot as plt
plt.plot(history.history['loss'])
plt.plot(history.history['val_loss'])
plt.title('model loss')
plt.ylabel('loss')
plt.xlabel('epoch')
plt.legend(['train', 'val'], loc='upper left')
plt.show()
是否也可以在此test_loss
繪制test_loss
以在同一圖中獲得所有三個的概覽?
沒有history.history['test_loss']
。
您還沒有計算 test_loss。 您首先需要使用 X_test 預測一些標簽,然后根據預測值和 y_test 計算損失。 或者,您可以使用評估直接執行此操作:
test_loss = model.evaluate(X_test, y_test)
您不能將它們一起繪制,因為 test_loss 是在訓練結束時計算一次的單個值,而不是像驗證那樣的每個時期。
盡管如此,您不應在訓練中使用 X_test 和 y_test,因為您將在整個可用數據上進行訓練,因此您無法再進行測試。
X_test 和 y_test 僅在所有步驟結束時使用,以測試模型的性能。
在您進行訓練時,驗證數據用於“測試數據”的目的。 完成所有訓練和優化后,您可以在訓練廣告驗證的組合數據集上重新訓練網絡,並使用生成的網絡在測試數據集 (X_test, y_test) 上測試其性能
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.