MNIST 数据集是机器学习领域非常著名的一个数据集,它包含了手写数字的灰度图像。以下是一个简单的 MNIST 数据集编码示例。

安装依赖

在开始之前,请确保您已经安装了以下依赖:

  • TensorFlow
  • NumPy

您可以通过以下命令进行安装:

pip install tensorflow numpy

加载数据集

首先,我们需要加载数据集。TensorFlow 提供了 tf.keras.datasets 模块,可以直接加载数据集。

from tensorflow.keras.datasets import mnist

(train_images, train_labels), (test_images, test_labels) = mnist.load_data()

数据预处理

在训练模型之前,我们需要对数据进行一些预处理。以下是数据预处理的基本步骤:

  1. 归一化像素值:将像素值从 [0, 255] 范围缩放到 [0, 1] 范围。
  2. 转换标签:将标签转换为独热编码。
train_images = train_images / 255.0
test_images = test_images / 255.0

train_labels = tf.keras.utils.to_categorical(train_labels)
test_labels = tf.keras.utils.to_categorical(test_labels)

构建模型

接下来,我们可以构建一个简单的卷积神经网络模型。

model = tf.keras.models.Sequential([
    tf.keras.layers.Flatten(input_shape=(28, 28)),
    tf.keras.layers.Dense(128, activation='relu'),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(10, activation='softmax')
])

编译模型

在训练模型之前,我们需要编译模型。

model.compile(optimizer='adam',
              loss='categorical_crossentropy',
              metrics=['accuracy'])

训练模型

现在,我们可以开始训练模型。

model.fit(train_images, train_labels, epochs=5, batch_size=32)

评估模型

训练完成后,我们可以使用测试数据集来评估模型的性能。

test_loss, test_acc = model.evaluate(test_images, test_labels)
print(f"Test accuracy: {test_acc}")

扩展阅读

如果您想了解更多关于 MNIST 数据集和机器学习的内容,可以阅读以下文章:

希望这个示例能帮助您更好地理解 MNIST 数据集编码。😊