20240702_대학원을 붙을 확률 예측하기 (Keras)_01
in 파이썬
딥러닝 모델을 만드는 방법이 엄청 쉽다.
- 코딩애플 강의에서 제공해준 자료가 있음
- admit : 1-합격 ,0-불합격
- gre : 영어성적
- gpa : gpa
- rank : 지원한 학교 랭킹
- 위 gre,gpa,rank 3개 데이터를 통해 합격을 예측하는 머신러닝 프로그램을 만들어봄
keras의 도움을 받아 딥러닝 모델을 만들어 보자
1. 모델만들기
- 딥러닝 모델 만드는 방법인데, Keras를 사용하면 매우 쉬워짐
- tf.keras.models.Sequential(레이어…)
- 레이어 : tf.keras.layers.Dense(노드갯수,활성함수)
- 활성함수 : sigmoid,tanh,relu,softmax ..
- 맨 마지막 레이어는 잘 신경써야하며, (확률로 예측할거기 때문에 노드는 1개면 됨)
model = tf.keras.models.Sequential([
# 일반적인 레이어를 만드는 문법
## tf.keras.layers.Dense(노드갯수,활성함수)
### 활성함수 : sigmoid,tanh,relu,softmax ..
tf.keras.layers.Dense(64,activation='tanh'),
tf.keras.layers.Dense(128,activation='tanh'),
## 맨 마지막 레이어는 잘 신경써야하며, (확률로 예측할거기 때문에 노드는 1개면 됨)
## 확률을 예측해야 하기 때문에 활성함수는 sigmoid(0~1사이 값)
tf.keras.layers.Dense(1,activation='sigmoid'),
])
2. 모델 컴파일하기
- model.compile(옵티마이저,손실함수,행렬)
- 옵티마이저 종류 : adam,adagrad,adadelta,rmsprop,sgd ..
- *adam : 경사하강법을 기반으로한 옵티마이저
- 손실함수 : 문제마다 유용한 손실함수가 있음. 확률 예측은(0과 1사이 값) binary_crossentropy
# 모델 컴파일
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
3. 모바일 학습시키기
- model.fit(x데이터,y데이터,epochs)
- x데이터 : 데이터
- y데이터 : 예측값
- epochs : 반복횟수
전체소스
- 모델을 만들고, 학습시키는데 필요한 전체 소스는 엄청 간단하다.
- 다음 포스팅에서는 실제 데이터를 넣어서 실행해보기로 하겠음.
import tensorflow as tf
model = tf.keras.models.Sequential([
tf.keras.layers.Dense(64,activation='tanh'),
tf.keras.layers.Dense(128,activation='tanh'),
tf.keras.layers.Dense(1,activation='sigmoid'),
])
model.compile(optimizer='adam',loss='binary_crossentropy',metrics=['accuracy'])
model.fit(x데이터,y데이터,epochs)