使用python版本:3.8.3
需求库:TensorFlow、Keras、matplotlib、numpy
本笔记来源书目//用Python动手学机器学习
8.1 MINST数据集
MINST数据集是一个手写数字的数据集,内容是60000个28*28的手写数字。
其中50000个为训练集,10000个为测试集。
可以运行下方的代码来加载此数据集
from keras.datasets import mnist
(x_train, y_train), (x_test, y_test) = mnist.load_data()

x_train是一组60000*28*28的数组变量,各元素是0-255的整数值表示该像素的灰度值。
在此数据集中,第i个图像可以通过以下代码来取出。
x_train[i,:,:]
y_train是与x_train对应的标签数据集,它是一个长度为60000的一维数组变量,其中每个元素都是0-9之间的整数值。这些整数值表示了对应的图片所代表的数字。这个数据集通常用来训练图像识别模型,并且是监督学习算法中的一种常见形式。
接下来,我们使用下方的代码来实现对MINIST数据集的展示(可参考我手加的注释):
import numpy as np
import matplotlib.pyplot as plt
plt.figure(1, figsize=(12, 3.2)) #创建一个画布,编号为1,大小为12*3.2英寸
plt.subplots_adjust(wspace=0.5) #调整子图之间的水平间距为0.5英寸。
plt.gray() #将图片以灰度图形式显示。
for id in range(3):
plt.subplot(1, 3, id + 1) #总行数,总列数,当前子图
img = x_train[id, :, :] #提取像素值,id=图片序号,提取所有行,提取所有列
plt.pcolor(255 - img) #将像素以颜色反应于子图上,(255-img)为反色处理
plt.text(24.5, 26, "%d" % y_train[id],
color='cornflowerblue', fontsize=18)#加图元素
plt.xlim(0, 27)
plt.ylim(27, 0) #子图横纵范围
plt.show()
非常好,经过你刚刚的运行,你完成了数据集的获取和了解,同时你也对数据产生了直观的感受。并得到了以下内容:

8.2 二层前馈神经网络模型
目前还在继续更新中,请耐心等待