-
다층 퍼셉트론 신경망 모델 만들어보기Keras 2017. 12. 28. 23:42
# 1. 라이브러리 로딩하기
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
from keras.utils.vis_utils import model_to_dot
from IPython.display import SVG%matplotlib inline
# 2. seed number 고정하기
np.random.seed(5)# 3. pima Indians Diabetes data 불러오기
pima = np.loadtxt("d:/keras/pima_indians_diabetes.txt", delimiter = ",")# 4. 데이터셋 생성하기
x_train = pima[:700, 0:8]
y_train = pima[:700, 8]
x_test = pima[700:, 0:8]
y_test = pima[700:, 8]# 5. 모델 구성하기
model = Sequential()
model.add(Dense(input_dim = 8, output_dim = 12, activation = "relu"))
model.add(Dense(input_dim = 12, output_dim = 8, activation = "relu"))
model.add(Dense(input_dim = 8, output_dim = 1, activation = "sigmoid"))# 6. 모델 출력하기
SVG(model_to_dot(model, show_shapes = True).create(prog = "dot", format = "svg"))# 7. 모델 학습과정 설정하기
model.compile(loss = "binary_crossentropy", optimizer = "adam", metrics = ["accuracy"])# 8. 모델 학습시키기
model.fit(x_train, y_train, epochs = 1500, batch_size = 64)# 9. 모델 평가하기
scores = model.evaluate(x_test, y_test)
print("%s: %.2f%%" %(model.metrics_names[1], scores[1]*100))[출처] 블록과 함께하는 파이썬 딥러닝 케라스, 김태영 지음, DigitalBooks, p104~111
'Keras' 카테고리의 다른 글
CNN Model 만들어 보기 (0) 2017.12.30 CNN(Convolution Neural Network) Layer 이야기 (0) 2017.12.29 Optimizers List (0) 2017.12.26 할성화(activations) 함수 목록 (0) 2017.12.25 학습 조기종료 시키기 (0) 2017.12.25