Keras - Avaliação e previsão do modelo

Este capítulo trata da avaliação e predição do modelo em Keras.

Vamos começar entendendo a avaliação do modelo.

Avaliação de modelo

A avaliação é um processo durante o desenvolvimento do modelo para verificar se o modelo é o mais adequado para o problema fornecido e os dados correspondentes. O modelo Keras fornece uma função, avalia que faz a avaliação do modelo. Tem três argumentos principais,

  • Dados de teste
  • Etiqueta de dados de teste
  • verboso - verdadeiro ou falso

Vamos avaliar o modelo, que criamos no capítulo anterior, usando dados de teste.

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

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

Executar o código acima resultará nas informações abaixo.

0

A precisão do teste é de 98,28%. Criamos o melhor modelo para identificar os dígitos da escrita. Do lado positivo, ainda podemos melhorar nosso modelo.

Predição de modelo

Predictioné a etapa final e nosso resultado esperado da geração do modelo. Keras fornece um método de previsão para obter a previsão do modelo treinado. A assinatura do método de previsão é a seguinte,

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

Aqui, todos os argumentos são opcionais, exceto o primeiro argumento, que se refere aos dados de entrada desconhecidos. A forma deve ser mantida para obter a previsão adequada.

Vamos fazer previsões para o nosso modelo MPL criado no capítulo anterior usando o código abaixo -

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

print(pred) 
print(label)

Aqui,

  • Line 1 chamar a função de previsão usando dados de teste.

  • Line 2 obtém as cinco primeiras previsões

  • Line 3 obtém os primeiros cinco rótulos dos dados de teste.

  • Line 5 - 6 imprime a previsão e o rótulo real.

O resultado do aplicativo acima é o seguinte -

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

A saída de ambas as matrizes é idêntica e indica que nosso modelo prediz corretamente as primeiras cinco imagens.