Python 中的 MNIST 数据集 - 基本导入和绘图
欢迎来到关于 MNIST 数据集的本教程。在本教程中,我们将学习什么是 MNIST 数据集,如何在 Python 中导入它,以及如何使用matplotlib绘制它。
MNIST 数据集是什么?
MNIST 集是手写数字的大型集合。它是图像处理领域非常流行的数据集。它通常用于对机器学习算法进行基准测试。
MNIST 是 修改后的美国国家标准与技术研究院数据库的缩写。
MNIST 包含 70,000、28 x 28 手写数字图像的集合,从 0 到 9。
数据集已经分为训练集和测试集。我们将在本教程后面看到这一点。
有关 MNIST 的更多信息,请参阅其维基百科页面。我们将从 Keras 导入数据集。
让我们开始将数据集加载到我们的 Python 笔记本中。
从 Keras 加载 MNIST
我们首先必须从Keras 模块导入 MNIST 数据集。
我们可以使用以下代码行来做到这一点:
from keras.datasets import mnist
现在我们将训练集和测试集加载到单独的变量中。
(train_X, train_y), (test_X, test_y) = mnist.load_data()
让我们找出训练和测试集中有多少张图像。换句话说,让我们试着找出这个数据集的分割比率。
要了解有关拆分比率的更多信息,请参阅有关如何将数据拆分为训练和测试集的教程。
为了找到分割比,我们将打印所有向量的形状。
print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test: ' + str(test_X.shape))
print('Y_test: ' + str(test_y.shape))
输出:
X_train: (60000, 28, 28)
Y_train: (60000,)
X_test: (10000, 28, 28)
Y_test: (10000,)
我们可以看到训练集中有 60k 图像,测试集中有 10k 图像。
我们训练向量的维度是**(60000, 28, 28),这是因为有60,000张灰度图像**,维度为28X28。
加载MNIST数据集的完整代码
这是本节的完整代码:
from keras.datasets import mnist
#loading the dataset
(train_X, train_y), (test_X, test_y) = mnist.load_data()
#printing the shapes of the vectors
print('X_train: ' + str(train_X.shape))
print('Y_train: ' + str(train_y.shape))
print('X_test: ' + str(test_X.shape))
print('Y_test: ' + str(test_y.shape))
让我们学习如何绘制这个数据集。
使用 matplotlib 绘制 MNIST 数据集
绘制您正在处理的数据集总是一个好主意。它会让您对正在处理的数据类型有一个很好的了解。
作为一名负责任的数据科学家,您有责任始终将数据集绘制为第 0 步。
要绘制数据集,请使用以下代码:
from matplotlib import pyplot
for i in range(9):
pyplot.subplot(330 + 1 + i)
pyplot.imshow(train_X[i], cmap=pyplot.get_cmap('gray'))
pyplot.show()
输出 :

绘制的 MNIST 数据
这就是我们的数据的样子!
想象一下像这样的 70,000 张图像。这就是数据集中的内容。如此庞大是数据集受欢迎的原因之一。
手写识别的问题,无论多么琐碎,现在都已经过时了。需要一个更具挑战性的 MNSIT 数据集版本来替代它。
是否有更具挑战性的 MNIST 数据集版本?
就在这里。 时尚 MNIST 数据集。
时尚 MNIST 数据集
时尚 MNIST 数据集是旧 MNIST 数据集的更具挑战性的替代品。
该数据集包含 70,000 个小正方形28×28 像素灰度图像**,包含 10 种服装,例如鞋子、T 恤、连衣裙等。
要了解如何导入和绘制时尚 MNIST 数据集,请阅读此教程。
结论
本教程是关于在 Python 中导入和绘制 MNIST 数据集。我们还讨论了这个数据集的一个更具挑战性的替代品,Fashion MNIST 集。希望您和我们一起学习愉快!
更多推荐

所有评论(0)