TIP
은닉층의 개수를 왜 두 개로 했나요? 그리고 노드의 수는 왜 각각 12개와 8개로 했나요?
입력과 출력의 수는 정해져 있지만, 은닉층은 몇 층으로 할지, 은닉층 안의 노드는 몇 개로 할지에 대한 정답은 없습니다. 자신의 프로젝트에 따라 설정해야 합니다. 여러 번 반복하면서 최적 값을 찾아내는 것이 좋으며, 여기서는 임의의 수로 12와 8을 설정했고 설명의 편의성을 위해 두 개의 은닉층을 만들었습니다. 여러분이 직접 노드의 수와 은닉층의 개수를 바꾸어 보면서 더 좋은 정확도가 나오는지 시험해 보세요.
전체 코드는 다음과 같습니다.
실습 | 피마 인디언의 당뇨병 예측하기
from tensorflow.keras.models import Sequential from tensorflow.keras.layers import Dense # pandas 라이브러리를 불러옵니다. import pandas as pd # 깃허브에 준비된 데이터를 가져옵니다. !git clone https://github.com/taehojo/data.git # 피마 인디언 당뇨병 데이터셋을 불러옵니다. = pd.read_csv('./data/pima-indians-diabetes3.csv') X = . [:,0:8] # 세부 정보를 X로 지정합니다. = . [:,8] # 당뇨병 여부를 y로 지정합니다. # 모델을 설정합니다. = Sequential() .add(Dense(12, =8, ='relu', ='Dense_1')) .add(Dense(8, ='relu', ='Dense_2')) .add(Dense(1, ='sigmoid', ='Dense_3')) .summary() # 모델을 컴파일합니다. .compile( ='binary_crossentropy', ='adam', =['accuracy']) # 모델을 실행합니다. = .fit(X, , =100, =5)