Keras - 模型评估和模型预测

  • 简述

    本章介绍 Keras 中的模型评估和模型预测。
    让我们从了解模型评估开始。
  • 模型评估

    评估是模型开发过程中检查模型是否最适合给定问题和相应数据的过程。Keras 模型提供了一个函数,evaluate 对模型进行评估。它有三个主要论点,
    • 测试数据
    • 测试数据标签
    • 详细 - 真或假
    让我们评估我们在上一章中使用测试数据创建的模型。
    
    
    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]
    
    
    两个数组的输出是相同的,这表明我们的模型正确地预测了前五个图像。