第一步:加载需要的库
from keras.models import Sequential
from keras.layers import Dense
import numpy as np
import pandas as pd
np.random.seed(7)
第二步:加载数据
#load data
dataset = np.loadtxt('D:/pima-indians-diabetes.csv',delimiter=',')
X = dataset[:,0:8]
Y = dataset[:,8]
第三步:建立模型
8个输入变量,第一层神经元12个,第二层10个神经元,输出层1个神经元。
这些神经元的数量如何确定,如果有20层网络,那每层多少个神经元?试错感觉不是好的方法,不知道如何设定?
#creat model
model = Sequential()
model.add(Dense(12,input_dim=8,activation='relu'))
model.add(Dense(10,activation='relu'))
model.add(Dense(1,activation='sigmoid'))
第四部:编译模型
#Compile model
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
第五部:训练模型
#fit model
model.fit(X,Y,epochs=150,batch_size=10)
第六步:评估模型
#evaluate the model
scores = model.evaluate(X,Y)
print(model.metrics_names[1],scores[1]*100)
第七步:预测应用
#calculate predictions
#predictions = model.predict(X)
#round predictions
#rounded = [round(x[0]) for x in predictions]
#print(predictions)
难点:如果有20层的神经网络,每一层的神经元如何设定,很多做图像识别的有120层,就更加不知道怎么设置这个神经元的问题了。继续学习,如果知道了,就贴出来。
联系客服