郭震 AI公众号:郭震AI

19 Keras框架从零教程:模型评估与预测之模型预测

发布日期:

最近更新:

分类: Keras

预计阅读: 4 分钟

阅读次数: 0

预计阅读4 分钟
结构重点8 个
图文要点6 张
正文规模1.4k 字

整理说明

这篇内容怎么整理

郭震 · 2026-06-04

独立整理围绕 8 个结构重点拆成环境、步骤、验证点和常见误区,尽量让读者能照着复现。
图文对照保留 6 张和配置、流程、判断结果有关的图片,方便快速定位正文重点。
持续校对工具、模型和命令变化较快,后续优先修正入口、参数和风险提醒。

阅读路线

先按这条路线读

先抓住主线,再回到代码、配置和图文细节,读起来会更稳。

图文要点

先看本文图文节点

按图先建立主线,再跳回正文核对步骤、配置和判断标准。

模型预测流程图查看大图
模型预测流程图

预测阶段最容易和训练阶段不一致。预处理、shape、类别映射和阈值都要和训练时对齐。

模型预测实操核对图查看大图
模型预测实操核对图

我会拿训练集中的一条样本跑完整预测链路。能复现已知结果,再处理新数据更稳。

在上一篇文章中,我们探讨了如何使用 evaluate 方法对 Keras 模型进行评估。本文将重点讲解如何使用训练好的模型进行预测。模型预测是机器学习工作流中至关重要的一部分,它使我们能够使用模型对新数据进行推理。这一过程通常会涉及到数据预处理、模型输入格式的匹配以及最终的输出解析。让我们深入了解这一过程,并结合一个具体的案例进行讲解。

1. 理解模型预测

在机器学习中,模型预测指的是使用一个已经训练好的模型,对新的、未见过的数据进行分类或回归。在 Keras 中,预测的基本流程非常简单:

Keras模型预测判断卡查看大图
Keras模型预测判断卡

使用 Keras 模型预测时,先看输入格式、归一化、batch 维度、输出概率、类别映射和错误样例。

  1. 准备数据:确保输入数据的格式与模型训练时保持一致。
  2. 调用 predict 方法:使用模型的 predict 函数生成预测结果。
  3. 解析输出:将模型输出转换为可读的格式。

2. 案例准备

假设我们已经训练了一个简单的图像分类模型,用于识别手写数字(例如,MNIST 数据集)。首先简单回顾一下模型的训练过程,然后将重点放在如何对新的数据进行预测。

Keras阅读地图卡查看大图
Keras阅读地图卡

《Keras框架从零教程:模型评估与预测之模型预测》读到最后,可以把图里的流程当成检查表:问题是否明确,操作是否落地,判断标准是否能复用。

2.1 模型训练流程

在进行预测之前,我们必须有一个训练好的模型。下面的代码演示了如何构建和训练一个简单的卷积神经网络(CNN)模型:

import numpy as np
from keras.datasets import mnist
from keras.utils import to_categorical
from keras.models import Sequential
from keras.layers import Conv2D, Flatten, Dense, MaxPooling2D

# 加载 MNIST 数据集
(x_train, y_train), (x_test, y_test) = mnist.load_data()
x_train = np.expand_dims(x_train, axis=-1).astype('float32') / 255.0
x_test = np.expand_dims(x_test, axis=-1).astype('float32') / 255.0

# 数据预处理
y_train = to_categorical(y_train, 10)
y_test = to_categorical(y_test, 10)

# 构建简单的 CNN 模型
model = Sequential([
    Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=(28, 28, 1)),
    MaxPooling2D(pool_size=(2, 2)),
    Flatten(),
    Dense(128, activation='relu'),
    Dense(10, activation='softmax')
])

model.compile(optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'])
model.fit(x_train, y_train, epochs=5, batch_size=32, validation_split=0.2)

3. 模型预测

现在我们已经有了一个训练好的模型,接下来我们将使用这个模型对测试集中的一些图像进行预测。

3.1 使用 predict 方法

Keras 提供了一个非常直观的 predict 方法,使用方法如下:

# 使用训练好的模型进行预测
predictions = model.predict(x_test)

# 查看前五个预测结果
print("预测结果:", np.argmax(predictions[:5], axis=1))
print("真实标签:", np.argmax(y_test[:5], axis=1))

在这里,我们调用了模型的 predict 方法,并通过 np.argmax 将输出转换为类别标签。predictions 包含了每个测试样本属于各个类别的概率,最终我们选择概率最大的作为预测的类别。

3.2 解析预测结果

预测的输出是一个概率分布,对于图像分类任务,我们需要找到概率最高的类别:

  • np.argmax(predictions, axis=1) 可以帮助我们取得每个预测样本最高概率对应的类别索引。
  • 如果需要更详细的信息(如概率值),可以直接查看 predictions 这个数组。

3.3 评价预测结果

为了对预测结果的准确性进行评价,我们可以将模型的预测结果与真实标签进行比较:

correct_predictions = np.sum(np.argmax(predictions, axis=1) == np.argmax(y_test, axis=1))
accuracy = correct_predictions / len(y_test)
print(f'模型预测准确率:{accuracy * 100:.2f}%')

通过计算正确预测的数量与总样本的比例,我们可以得出完整的预测准确率。

Keras框架从零教程:模型评估与预测之模型预测应用复盘卡查看大图
Keras框架从零教程:模型评估与预测之模型预测应用复盘卡

如果《Keras框架从零教程:模型评估与预测之模型预测》还没完全消化,可以从这张卡片的四个动作重新走一遍。

Keras框架从零教程:模型评估与预测之模型预测应用检查卡查看大图
Keras框架从零教程:模型评估与预测之模型预测应用检查卡

回看《Keras框架从零教程:模型评估与预测之模型预测》时,不必一次做大项目,先用一条简单样例确认主线是否清楚。

4. 小结

本篇文章中,我们详细介绍了 Keras 框架中如何对已经训练好的模型进行预测。我们通过使用手写数字识别的案例,展示了从数据准备到最终解析预测结果的完整流程。接下来,在下一篇文章中,我们将进入更高阶的主题——迁移学习,并探索如何利用预训练模型来提升我们的模型性能。请继续关注我们的系列教程!

继续阅读

从这篇继续找到相关教程

AI 教程总索引

常见问题

读前先确认这三点

Keras框架从零教程:模型评估与预测之模型预测适合谁读?

这是 Keras 入门 系列第 19 / 28 篇,适合正在学习Keras 入门,并且需要把概念落到操作步骤或判断标准里的读者。

读这篇Keras 入门教程要多久?

按中文技术文章阅读速度估算,通读大约 4 分钟;如果要跟着复现,建议把命令、配置和结果检查分开做。

这篇文章里的图文节点怎么用?

正文里有 6 个图文节点,可以先用它们抓住流程、配置和判断点,再回到对应段落细读。

分享文章

转发到常用平台

微信/朋友圈可先复制链接

相关教程

AI 教程总索引

继续阅读

继续找到相关 AI 教程

返回栏目

Reader Messages

读者留言

有问题、补充资料或实测结果,可以直接留下。这里不需要登录。

最多 800 字

为了防刷,每条留言会做长度、链接数量和提交频率限制。

0/800

留言列表

0
正在加载留言...