📜  Keras-模型评估和模型预测

📅  最后修改于: 2020-12-11 04:58:48             🧑  作者: Mango


本章介绍Keras中的模型评估和模型预测。

让我们首先了解模型评估。

模型评估

评估是在模型开发期间检查模型是否最适合给定问题和相应数据的过程。 Keras模型提供了一个函数,对模型进行评估。它有三个主要论点,

  • 测试数据
  • 测试数据标签
  • 详细-正确或错误

让我们评估在上一章中使用测试数据创建的模型。

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

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

执行以上代码将输出以下信息。

0

测试精度为98.28%。我们创建了一个最佳模型来识别手写数字。从积极的方面来看,我们仍然可以扩大模型的范围。

模型预测

预测是模型生成的最后一步,也是我们预期的结果。 Keras提供了一种预测得到训练模型预测的方法。预测方法的特征如下:

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]

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