基础模型代码:
from keras import backend
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
# 获取数据
def get_data(string):
dataset = np.loadtxt(string, delimiter=',')
X = dataset[:, 0:8]
Y = dataset[:, 8]
return X, Y
def get_model():
# 创建一个序贯模型,一次添加一层
model = Sequential()
# 使用Dense类定义全连接层
model.add(Dense(12, input_dim=8, activation='relu'))
model.add(Dense(8, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
return model
X, Y = get_data('pima-indians-diabetes.csv')
model = get_model()
#查看最终模型结构
model.summary()
# 编译模型
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 训练模型 validation_split为验证分割参数
model.fit(x=X, y=Y, epochs=150, batch_size=10, validation_split=0.2)
'''
#另一种得到验证集的方法是手动分割数据集
seed = 7
x_train, x_validation, Y_train, Y_validation = train_test_split(x, Y, test_size=0.2,
random_state=seed)
model.fit(x=X, y=Y, epochs=150, batch_size=10, validation_data=(x_validation, Y_validation))
'''
scores = model.evaluate(x=X, y=Y)
print(scores)
Sequential
Sequential模型是多个网络层的线性堆栈,Sequential 是实现全连接网络的最好方式。
Compile
可以使用 compil