실습) 폐암 수술 환자의 생존율 예측하기 코드
# 1. 환경 준비
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
import numpy as np
# 2. 데이터 준비
!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]
# 3. 모델 구조 결정
model = Sequential()
model.add(Dense(30, input_dim=16, activation='relu'))
model.add(Dense(1, activation='sigmoid'))
# 4. 모델 생성
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# 5. 모델 실행
history = model.fit(X, y, epochs=5, batch_size=16)
활성화 함수
Linear (선형 함수)
- 가장 기본적인 활성화 함수로, 입려과 동일한 값을 출력
- 주로 회귀 문제에서 출력층의 활성화 함수로 사용됨
- 입력과 출력 사이의 선형 관계를 표현하기 위해 사용됨
ReLU(Rectified Linear Unit)
- 입력이 0보다 작을 경우 0을 출력, 0보다 큰 경우 입력 값을 그대로 출력
- 비선형 함수로 신경망 은닉층에서 주로 사용
- 입력에 대해 강한 비선형성을 제공, 그레디언트 소실 문제를 완화
Sigmoid
- 입력을 0과 1사의 값으로 압축해서 출력
- 이진 분류 문제에서 출력층의 활성화 함수로 사용
- 출력 값이 확률로 해석될 수 있으며, 입력이 클래스에 속할 확률을 표현하는데 사용
- 그러나 그레디언드 소실 문제와 출력 값의 제한된 범위가 단점으로 해석될 수 있음
Sofwmax
- 다중 클래스 분류 문제에서 출력층의 활성화 함수로 사용됨
- 입력 값들을 정규화 하여 클래스에 대한 확률 분포를 생성
- 출력값의 합이 1이되며, 각 클래스에 속할 확률로 해석됨
'빅데이터 분석가 양성과정 > Python - 딥러닝' 카테고리의 다른 글
다중 분류 - iris 데이터 (0) | 2024.07.17 |
---|---|
딥러닝 (1) | 2024.07.17 |
퍼셉트론(XOR) (0) | 2024.07.17 |
로지스틱 회귀 (0) | 2024.07.17 |
선형회귀 (0) | 2024.07.17 |