Введение в набор данных рукописного ввода MNIST

глубокое обучение

1. Введение в набор данных

  • Набор данных MNIST — очень классический набор данных в области машинного обучения, Самый простой способ — загрузить его напрямую с помощью следующего кода:
import tensorflow as tf
(X_train, y_train), (X_test, y_test) = tf.keras.datasets.mnist.load_data()
print(X_train.shape, y_train.shape)
print(X_test.shape, y_test.shape)
(60000, 28, 28) (60000,)
(10000, 28, 28) (10000,)
  • Видно, что набор данных состоит из 60 000 обучающих выборок и 10 000 тестовых выборок.
  • Каждый образец представляет собой изображение рукописных цифр размером 28*28 пикселей в градациях серого.
  • Каждый пиксель представляет собой целое число от 0 до 255.

2. Распечатайте первую рукописную картинку

import matplotlib.pyplot as plt

plt.figure()
plt.imshow(X_train[0])
plt.colorbar()
plt.grid(False)
plt.show()

ty8ZGV.png

3. Распечатайте первые 25 рукописных цифр.

# 把像素值缩放到 0-1
X_train = X_train / 255.0
X_test = X_test / 255.0
# 所有的分类标签
class_names = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']

plt.figure(figsize=(10,10))
for i in range(25):
    plt.subplot(5,5,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.grid(False)
    plt.imshow(X_train[i], cmap=plt.cm.binary)
    plt.xlabel(class_names[y_train[i]])

ty8VP0.png