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