导入安装包
import pandas as pd
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import Flatten
import keras.datasets.mnist as mnist
加载数据
使用手写数字数据
(train_image,train_label),(test_image,test_label) = mnist.load_data()
train_image.shape #查看数据维度
创建模型并训练
为什么要进行Flatten处理?
Flatten()函数将多维数据一维化,因为神经网络只能处理一维的数据。
第一层:全连接层,输出维度为64维,激活函数使用relu
第二层:输出维度为10维,激活函数用softmax,将数据值映射在[0,1]之间
optimizer优化器:adam
loss损失函数:交叉熵
metrics评价指标:准确度
#简单的逻辑回归
#创建模型
model = Sequential()
model.add(Flatten())
model.add(Dense(64,activation='relu'))
model.add(Dense(10,activation='softmax'))
#编译模型
model.compile(optimizer='adam',
loss='sparse_categorical_crossentropy',
metrics=['acc']
)
#训练模型
model.fit(train_image,train_label,epochs=50,batch_size=512)
#打印模型
model.summary()
评估模型
model.evaluate(test_image,test_label) #输出loss,accuracy
准确率0.952也还可以。
写文不容易,请给个赞吧!