기록하기

[모두의 딥러닝] 피마 인디언의 당뇨병 예측 실행 본문

AI 수업

[모두의 딥러닝] 피마 인디언의 당뇨병 예측 실행

_parkdaxun 2023. 4. 10. 10:03

1. 깃허브에 준비된 데이터 가져오기

!git clone https://github.com/taehojo/data.git

 

2. 피마 인디언 당뇨병 데이터셋 불러오기

df = pd.read_csv('./data/pima-indians-diabetes3.csv')

 

세부 정보를 X로 지정하고, 당뇨병 여부를 y로 지정하기

X = df.iloc[:,0:8]
y = df.iloc[:,8]

 

모델 구조 설정하기

model = Sequential()
model.add(Dense(12, input_dim=8, activation='relu', name='Dense_1'))
model.add(Dense(8, activation='relu', name='Dense_2'))
model.add(Dense(1, activation='sigmoid', name='Dense_3'))
model.summary()

 

달라진 점

1. 은닉층이 더 추가 됨

2. 층과 층의 연결을 한 눈에 볼 수 있게 해 주는 model.summary() 부분이 추가 됨

 

 

3. 중간 결과

 

Layer 부분 : 층의 이름과 유형을 나타냅니다. 각 층의 이름은 자동으로 정해지는데, 따로 이름을 만들려면 Dense() 함수 안에 name='층 이름'을 추가해 주면 됩니다.

 

Output Shape 부분 : 각 층에 몇 개의 출력이 발생하는지 나타냅니다. 쉽표를 사이에 두고 괄호의 앞은 행의 수, 뒤는 열의 수를 의미합니다.

 

Param 부분 : 파라미터 수, 즉 총 가중치와 바이어스 수의 합을 나타냅니다.

 

 

4. 모델 컴파일하기

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

 

5. 모델 실행하기

history = model.fit(X, y, epochs=100, batch_size=5)

 

6. 결과

 

100번을 반복한 현재, 약 74.87%의 정확도를 보이고 있다.