Keras容易入门,比起tensorflow和PyTorch
虽然容易上手,但还是有些不太容易理解,建议学的时候多看书和视频,慢慢理解
from keras.models import Sequential#顺序模型
from keras.layers import Dense #Dense,表示全连接层
from keras.layers import Dropout#放弃层
import numpy as np
# 设定随机数种子
np.random.seed(7)
# 导入数据
dataset = np.loadtxt('D:\example\Keras\pima-indians-diabetes.csv', delimiter=',')
# 分割输入x和输出Y,X是已知X,Y是标准答案
x = dataset[:, 0 : 8]#取二维数组中第1(m)维到7维(第n-1维)的所有数据,相当于取第1(m)列到第七(n-1)列的所有数据
yTrain = dataset[:, 8]#取二维数组中第9维的所有数据,相当于取第9列的所有数据
# 创建模型
model = Sequential()#顺序模型,是多个网络层的线性堆叠
model.add(Dense(units=12, input_dim=8, activation='relu'))#输入节点8个,激活函数relu,隐#藏层12个
model.add(Dense(units=8, activation='relu'))#隐藏层8个,激活函数relu
model.add(Dense(units=1, activation='sigmoid'))#隐藏层1个,激活函数sigmoid
model.add(Dropout(rate=0.2))#在放弃层,放弃率20%
# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型 ,validation_spli自动评估模型
model.fit(x=x, y=yTrain, epochs=5, batch_size=10,validation_split=0.2)#epoch 循环次数,150太大了,改成15,batch_size处理大小
# 评估模型
scores = model.evaluate(x=x, y=yTrain)
print('\n%s : %.2f%%' % (model.metrics_names[1], scores[1]*100))
其中pima-indians-diabetes.csv的下载地址如下
链接:https://pan.baidu.com/s/1DsVb4LQXYYWyS9JQI8WW6g
提取码:118j