天天看點

Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二進制交叉)】模型實作預測新資料(利用糖尿病資料集的八個特征實作二分類預測

輸出結果

Keras之MLP:利用MLP【Input(8)→(12)(relu)→O(sigmoid+二進制交叉)】模型實作預測新資料(利用糖尿病資料集的八個特征實作二分類預測

實作代碼

# load and prepare the dataset

dataset = numpy.loadtxt("data/pima-indians-diabetes.csv", delimiter=",")

X = dataset[:,0:8]

Y = dataset[:,8]

# 1. define the network

model = Sequential()

model.add(Dense(12, input_dim=8, activation='relu'))

model.add(Dense(1, activation='sigmoid'))

# 2. compile the network

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# 3. fit the network

history = model.fit(X, Y, epochs=100, batch_size=10)

# 4. evaluate the network

loss, accuracy = model.evaluate(X, Y)

print("\nLoss: %.2f, Accuracy: %.2f%%" % (loss, accuracy*100))

# 5. make predictions

probabilities = model.predict(X)

predictions = [float(numpy.round(x)) for x in probabilities]  #numpy.round

accuracy = numpy.mean(predictions == Y)

print("Prediction Accuracy: %.2f%%" % (accuracy*100))

繼續閱讀