Keras - 模型評估和模型預測



本章將討論Keras中的模型評估和模型預測。

讓我們首先了解模型評估。

模型評估

評估是在模型開發過程中檢查模型是否最適合給定問題和相應資料的一個過程。Keras模型提供了一個名為evaluate的函式,用於執行模型的評估。它有三個主要引數:

  • 測試資料
  • 測試資料標籤
  • verbose - true 或 false

讓我們使用測試資料評估我們在上一章中建立的模型。

score = model.evaluate(x_test, y_test, verbose = 0) 

print('Test loss:', score[0]) 
print('Test accuracy:', score[1])

執行上述程式碼將輸出以下資訊。

0

測試準確率為98.28%。我們建立了一個識別手寫數字的最佳模型。從好的方面來說,我們仍然可以改進我們的模型。

模型預測

預測是模型生成的最後一步,也是我們期望的結果。Keras提供了一個名為predict的方法來獲取訓練模型的預測結果。predict方法的簽名如下:

predict(
   x, 
   batch_size = None, 
   verbose = 0, 
   steps = None, 
   callbacks = None, 
   max_queue_size = 10, 
   workers = 1, 
   use_multiprocessing = False
)

這裡,除了第一個引數(引用未知輸入資料)之外,所有引數都是可選的。應保持形狀以獲得正確的預測。

讓我們使用以下程式碼對我們在上一章中建立的MPL模型進行預測:

pred = model.predict(x_test) 
pred = np.argmax(pred, axis = 1)[:5] 
label = np.argmax(y_test,axis = 1)[:5] 

print(pred) 
print(label)

這裡:

  • 第1行 使用測試資料呼叫predict函式。

  • 第2行 獲取前五個預測結果。

  • 第3行 獲取測試資料的前五個標籤。

  • 第5-6行 列印預測結果和實際標籤。

上述應用程式的輸出如下:

[7 2 1 0 4] 
[7 2 1 0 4]

兩個陣列的輸出相同,這表明我們的模型正確預測了前五張影像。

廣告