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

1.手写数字数据集

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

 

2.图片数据预处理

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

 

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

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

设置卷积核大小为4X4,

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

池化层大小为2X2

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

.......

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

 

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)

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

5.模型评价

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

原文地址:https://www.cnblogs.com/zzj420133722/p/13091038.html