딥러닝 아무것도 몰랐는데 코딩애플 동영상 8개 보고 이해됨
- 딥러닝 model 디자인
- 필수 : layer에 activation function넣기
model=tf.keras.models.Sequential([
레이어1,
레이어2,
레이어3
...
])
import tensorflow as tf
model=tf.keras.models.Sequential([
tf.keras.layers.Dense(64, activation='sigmoid'), # 노드 개수, 기준 x, 2의 제곱수로
tf.keras.layers.Dense(128, activation='tanh'),
tf.keras.layers.Dense(1, activation='tanh'), # 출력레이어 1개, 확률 1개 예측할 때도 1개
# 0에서 1 사이 값으로 (확률) -> sigmoid
])
model compile
- model.compile(optimizer='adam' , loss='binary_crossentropy' , metrics=['accuracy'])
- 일반적으로 adam, 확률문제에서는 바이너리 크로스엔트로피
- 학습
- model.fit(학습데이터, 정답데이터 , epochs= 10) # 10번 학습
y데이터=data['admit'].values # 리스트로 변환
x데이터=[ ]
for i, rows in data.iterrows():
x데이터.append([ rows['gre'], rows['gpa'], rows['rank'] ])
리스트를 fit하면 오류남
-> numpy array 혹은 tf.tensor로 변경해야함
model.fit(np.array(x데이터), np.array(y데이터), epochs=1000)
- 예측
model.predict([ [750, 3.70, 3] , [400, 2.2, 1]])