KNOU STUDYREAD

한국방송통신대학교 통계데이터과학과 블로그

CS & Department of Statistics and Data Science

통계데이터과학과 및 컴퓨터과학 독서

02. 딥러닝 2장

Harryㅤ 2023. 10. 30.

 

1. 폐암 수술 환자 생존율 예측

from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense      
import numpy as np

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

Data_set = np.loadtxt("./data/ThoraricSurgery3.csv", delimiter=",")
X = Data_set[:,0:16]                                           
y = Data_set[:,16]    

model = Sequential()                                                 
model.add(Dense(30, input_dim=16, activation='relu')) 
model.add(Dense(1, activation='sigmoid'))

model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])  
history=model.fit(X, y, epochs=5, batch_size=16)

1) 상단 필요한 라이브러리 설정
2) 넘파이 loadtxt를 이용해 외부 git에 있는 환자 데이터셋을 import
3) X(각 1명의 환자당 진찰기록), Y(생존여부 1 or 0) 저장
4) Sequential() 함수에 다른 모델들을 결합. 활성화 함수를 지정. 여기서는 은닉층의 경우 ReLu 함수(양수는 양수, 음수일 경우 0 값으로 반환) 적용, 출력층에선 시그모이드 함수 적용. 
5) 각 출력 뉴런은 30, 1개. 입력 뉴련의 경우 16.
6) model.compile을 통해 작성한 모델 실행. 각 배치 데이터는 16. (전체 데이터셋 470개 데이터). 데이터셋 학습 수는 5번으로 나눠 실행 -> model.fit 함수 통해 정의
해당 교재의 예제 코랩 코드로 나온 생존율 예측 실행 결과

정확도가 각 반복 횟수당 0.83 ~ 0.85로 나온 것을 확인 가능(정확도 1.0 기준 100%일때 대략 83% ~ 85%의 정확도)
따라서 폐암 환자의 수술 후 생존율을 데이터를 기존 데이터를 통해 예측하고자 할때 10번 case 중 8번 정도는 정확하게 예측한다.

반복횟수와 배치사이즈 변경해도 최소 8번정도는 정확하다는 것을 알 수 있다.

'통계데이터과학과 및 컴퓨터과학 독서' 카테고리의 다른 글

04. 딥러닝 5장  (0) 2023.11.13
03.딥러닝 3-4장  (0) 2023.11.06
01. 딥러닝 1장  (0) 2023.10.23
09. 인프라 엔지니어  (0) 2023.10.16
08. BMT  (0) 2023.10.09