Keras – 模型评估和模型预测
本章讨论了Keras中的模型评估和模型预测。
让我们从了解模型评估开始。
模型评估
评估是模型开发过程中的一个过程,以检查该模型是否最适合给定的问题和相应的数据。Keras模型提供了一个函数,evaluate,它对模型进行评估。它有三个主要参数、
- 测试数据
- 测试数据的标签
- verbose – 真或假
让我们评估一下我们在前一章中使用测试数据创建的模型。
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]
两个阵列的输出是相同的,这表明我们的模型正确预测了前五幅图像。