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]

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

广告

© . All rights reserved.