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.