![](https://blog.kakaocdn.net/dn/vHH0a/btszi7yFU4C/mmXG7Kygoiq4W86Rmz6RBK/img.png)
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 함수 통해 정의
해당 교재의 예제 코랩 코드로 나온 생존율 예측 실행 결과
![](https://blog.kakaocdn.net/dn/cAq4Xt/btsziOeREBE/ZoIjG0WWSw5Drja5ICjCwk/img.png)
정확도가 각 반복 횟수당 0.83 ~ 0.85로 나온 것을 확인 가능(정확도 1.0 기준 100%일때 대략 83% ~ 85%의 정확도)
따라서 폐암 환자의 수술 후 생존율을 데이터를 기존 데이터를 통해 예측하고자 할때 10번 case 중 8번 정도는 정확하게 예측한다.
![](https://blog.kakaocdn.net/dn/u20f0/btszjCLSLXz/x3ewihfXN6XKlkIhn1U850/img.png)
반복횟수와 배치사이즈 변경해도 최소 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 |