机器学习可以首先构建一个神经网络,用于识别手写数字。通过训练数据,优化神经网络的参数。再利用测试数据来测试训练完成后的神经网络的准确度。本次需要下载的库有tensorflow和matplotlib,keras和mnist数据集一般都被集成在tensorflow中了。
MNIST手写数字数据
首先查看一下MNIST手写数字的数据是什么样子的。
from tensorflow.keras.datasets import mnist
# 读取MNIST数据
(train_images, train_labels), (test_images, test_labels) = mnist.load_data()
# 查看训练数据
train_images.shape()
# 查看训练数据的标签
len(train_labels)
train_labels
# 训练数据
(60000, 28, 28)
# 训练标签
60000
array([5, 0, 4, ..., 5, 6, 8], dtype=uint8)
从上面可以看出,MNIST手写数字的数据,是28*28的灰度图片,并且在训练数据中,有一共60000张这样的手写数字图片。在训练标签中,一共有60000个对应的数字,作为训练数据的标签。
可以利用matplot去查看这些28*28的图片是什么样子。
import matplotlib.p