15 手写数字识别-小数据集

1.手写数字数据集

  • from sklearn.datasets import load_digits
  • digits = load_digits()

 15 手写数字识别-小数据集_第1张图片

15 手写数字识别-小数据集_第2张图片

15 手写数字识别-小数据集_第3张图片

2.图片数据预处理

  • x:归一化MinMaxScaler()
  • y:独热编码OneHotEncoder()或to_categorical
  • 训练集测试集划分
  • 张量结构

 15 手写数字识别-小数据集_第4张图片

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

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

设置卷积核大小为4X4,

一层卷积输出大小为32X32,填充模式为same,稀疏性为relu。对于所有正值,ReLU是线性的,对于所有负值,ReLU是零的。

池化层大小为2X2

二层卷积输出大小为32X32,填充模式为same,稀疏性为relu。

.......

设置平坦层、全连接层、激活函数

15 手写数字识别-小数据集_第5张图片

 15 手写数字识别-小数据集_第6张图片

4.模型训练

  • model.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])
  • train_history = model.fit(x=X_train,y=y_train,validation_split=0.2, batch_size=300,epochs=10,verbose=2)

随着训练次数上升,准确率会上升,当训练次数达到一定次数时,准确率不再上升,过度拟合准确率会下降。

15 手写数字识别-小数据集_第7张图片

15 手写数字识别-小数据集_第8张图片

15 手写数字识别-小数据集_第9张图片

15 手写数字识别-小数据集_第10张图片

15 手写数字识别-小数据集_第11张图片

5.模型评价

  • model.evaluate()
  • 交叉表与交叉矩阵
  • pandas.crosstab
  • seaborn.heatmap

15 手写数字识别-小数据集_第12张图片

15 手写数字识别-小数据集_第13张图片

你可能感兴趣的:(15 手写数字识别-小数据集)