使用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 二层前馈神经网络模型

目前还在继续更新中,请耐心等待

Loading

作者 xianfeng1128

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注