Keras - Ocena modelu i przewidywanie modelu

Ten rozdział dotyczy oceny i przewidywania modelu w Keras.

Zacznijmy od zrozumienia oceny modelu.

Ocena modelu

Ocena to proces podczas tworzenia modelu, który ma na celu sprawdzenie, czy model najlepiej pasuje do danego problemu i odpowiednich danych. Model Keras zapewnia funkcję, ewaluacja, która dokonuje oceny modelu. Ma trzy główne argumenty,

  • Dane testowe
  • Etykieta z danymi testowymi
  • verbose - prawda lub fałsz

Oceńmy model, który stworzyliśmy w poprzednim rozdziale, korzystając z danych testowych.

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

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

Wykonanie powyższego kodu spowoduje wyświetlenie poniższych informacji.

0

Dokładność testu wynosi 98,28%. Stworzyliśmy najlepszy model do identyfikacji cyfr pisma ręcznego. Z drugiej strony nadal możemy ulepszyć nasz model.

Prognozowanie modelu

Predictionjest ostatnim krokiem i naszym oczekiwanym wynikiem generowania modelu. Keras zapewnia metodę przewidywania, aby uzyskać prognozę wytrenowanego modelu. Podpis metody predykcji jest następujący:

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

Tutaj wszystkie argumenty są opcjonalne, z wyjątkiem pierwszego argumentu, który odnosi się do nieznanych danych wejściowych. Kształt należy zachować, aby uzyskać właściwą prognozę.

Zróbmy prognozę dla naszego modelu MPL utworzonego w poprzednim rozdziale przy użyciu poniższego kodu -

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

print(pred) 
print(label)

Tutaj,

  • Line 1 wywołać funkcję predykcji przy użyciu danych testowych.

  • Line 2 dostaje pierwsze pięć prognoz

  • Line 3 pobiera pierwsze pięć etykiet danych testowych.

  • Line 5 - 6 drukuje prognozę i aktualną etykietę.

Dane wyjściowe powyższej aplikacji są następujące -

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

Dane wyjściowe obu tablic są identyczne i wskazują, że nasz model prawidłowo przewiduje pierwsze pięć obrazów.