手写数字识别-小数据集

1.手写数字数据集

from sklearn.datasets import load_digits

digits = load_digits()

(1)导入数据包

手写数字识别-小数据集

(2)读取数据

手写数字识别-小数据集

2.图片数据预处理

x:归一化MinMaxScaler()

y:独热编码OneHotEncoder()或to_categorical

训练集测试集划分

张量结构

(1)x:归一化MinMaxScaler(),y:独热编码OneHotEncoder()

手写数字识别-小数据集

结果如图:

手写数字识别-小数据集

手写数字识别-小数据集

3.设计卷积神经网络结构

绘制模型结构图,并说明设计依据。

模型结构如图:

手写数字识别-小数据集

设计理念依据:

(1)传递一个input_shape的关键字参数给第一层,input_shape是一个tuple类型的数据,其中也可以填入None,如果填入None则表示此位置可能是任何正整数。数据的batch大小不应包含在其中
(2)传递一个batch_input_shape的关键字参数给第一层,该参数包含数据的batch大小。该参数在指定固定大小batch时比较有用,例如在stateful RNNs中。事实上,Keras在内部会通过添加一个None将input_shape转化为batch_input_shape
(3)有些2D层,如Dense,支持通过指定其输入维度input_dim来隐含的指定输入数据shape。一些3D的时域层支持通过参数input_dim和input_length来指定输入shape。
(4)优化器optimizer:该参数可指定为已预定义的优化器名

(5)损失函数loss:该参数为模型试图最小化的目标函数

(6)由于图像尺寸较小,故卷积核尺寸设置为3×3,三个卷积-池化层的卷积核数量分别设置为16、32、64。

手写数字识别-小数据集

手写数字识别-小数据集

手写数字识别-小数据集

手写数字识别-小数据集

手写数字识别-小数据集

4.模型训练

手写数字识别-小数据集

手写数字识别-小数据集

手写数字识别-小数据集

5.模型评价

model.evaluate()

交叉表与交叉矩阵

pandas.crosstab

seaborn.heatmap

手写数字识别-小数据集

手写数字识别-小数据集

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzpsss.html