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 行使用测试数据调用预测函数。

  • 第 2 行获取前五个预测

  • 第 3 行获取测试数据的前五个标签。

  • 第 5 - 6 行打印预测和实际标签。

上述应用程序的输出如下 −

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

两个数组的输出相同,表明我们的模型正确预测了前五张图像。