Python中的MNIST数据集-基本导入和绘图
欢迎使用MNIST数据集上的本教程。
在本教程中,我们将学习什么是MNIST数据集,如何在Python中导入它,以及如何使用matplotlib对其进行绘制。
什么是MNIST数据集?
MNIST集是大量手写数字的集合。
它是图像处理领域中非常流行的数据集。
它通常用于对机器学习算法进行基准测试。
MNIST是美国国家标准与技术研究院数据库的缩写。
MNIST包含从0到9的70,000张28 x 28手写数字图像的集合。
数据集已经分为训练和测试集。
我们将在本教程的后面部分看到这一点。
有关MNIST的更多信息,请参阅其Wikipedia页面。
我们将从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数据集
绘制正在处理的数据集总是一个好主意。
它将使您对正在处理的数据类型有个好主意。
作为负责任的数据科学家,您有责任始终将数据集绘制为零级。
要绘制数据集,请使用以下代码:
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数据集版本来替代它。