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]
两个数组的输出相同,表明我们的模型正确预测了前五张图像。