728x90
#4-10. 딥러닝 모델 설계하기
기존에 함께 봤던 폐암 수술 환자 생존율 예측하기 딥러닝 모델을 바탕으로
지금까지 배워온 것을 정리해보자.
1. 환경 준비 # 텐서플로의 케라스 API에서 필요한 함수들을 불러옴 from tensorflow.keras.models import Sequential
# 데이터를 다루는 데 필요한 라이브러리를 불러옵니다. from tensorflow.keras.layers import Dense # 데이터를 다루는 데 필요한 라이브러리를 불러옵니다.
import numpy as np
|
2. 데이터준비
# 수술 환자 데이터를 불러옵니다.
Data_set = np.loadtxt("./data/ThoraricSurgery3.csv", delimiter=",")
X = Data_set[:,0:16] # 환자의 진찰 기록을 X로 지정합니다.
y = Data_set[:,16] # 수술 후 사망/생존 여부를 y로 지정합니다.
|
3. 딥러닝 모델 구조 결정 model = Sequential() # 딥러닝 모델의 구조를 결정합니다.
model.add(Dense(30, input_dim=16, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
|
model = Sequential - 딥러닝 구조를 짜고 층을 설정할 수 있도록 시퀀셜 함수를 모델로 선언 model.add - 새로운 층을 만드는 것. 맨 마지막 층이 출력층이고 나머지는 모두 은닉층임 Dense - 각 층의 구조를 이 함수를 통해 짜게 됨. - 첫번째 인자가 해당 층의 노드의 수를 의미함(=가중합의 수) - input_dim : 입력되는 x의 수 - activation : 활성화 함수 (은닉층에서는 relu, 출력층에서는 sigmoid사용함) |
4. 모델 실행 model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
history=model.fit(X, y, epochs=5, batch_size=16)
|
model. compile - 앞에서 정한 모델을 컴퓨터가 이해할 수 있게 컴파일 하는 것 - loss : 오차함수(손실함수) 종류 정하기 * - optimizer : 고급경사하강법 종류 중 선택하기 - metrics : 모델이 컴파일 될 때 모델 수행의 결과를 나타나게 설정하는 것. accuracy는 학습셋에 대한 정확도에 기반해 출력하라는 뜻 ( 이 외에 loss, val_acc, val_loss등이 있음) model.fit -모델을 실제로 수행 - epoch : 학습 프로세스를 모든 샘플에 대해 실행시키는 수 - batch_size : 샘플을 한번에 몇개씩 처리할 지 정하는 것 |
✬ 오차함수 종류
평균제곱계열 (선형회귀모델) |
mean_squared_error | 평균제곱오차 |
mean_absolute_error | 평균절대오차(실제값과 예측값 차이의 절댓값 평균) | |
mean_absolute_percentage_error | 펴균 절대 백분율 오차 | |
mean_squared_logarithmic_error | 평균 제곱 로그 오차 | |
교차엔트로피 계열 (다향, 이항분류) |
categorical_crossentropy | 범주현 교차 엔트로피 |
binary_crossentropy | 이항 교차 엔트로피 |
'👩💻LEARN : ML&Data > Book Study' 카테고리의 다른 글
[모두의 딥러닝] #4-12 다중분류 (0) | 2023.02.17 |
---|---|
[모두의 딥러닝] #4-11. 데이터 다루기 : 피마 인디언 데이터 예측하기 (0) | 2023.02.16 |
[모두의 딥러닝] #3-8. 오차역전파 : 은닉층 오차 수정과 계산 (0) | 2023.02.14 |
[모두의 딥러닝] #3-8. 오차역전파 : 출력층 가중치 확인까지 (0) | 2023.02.13 |
[모두의 딥러닝] #2-7. 퍼셉트론 (0) | 2023.02.12 |