GridSearch 를 이용한, 최적의 하이퍼 파라미터 찾기
필요한 라이브러리를 임포트 한다.
# Tuning the ANN
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import GridSearchCV
from keras.models import Sequential
from keras.layers import Dense
텐서플로우로 그리드 서치 하기 위해서
1. 인공지능 모델링 함수 정의
def build_model(optimizer):
# 모델링
model = Sequential()
model.add( Dense(units= 6, activation= 'relu', input_shape= (11, ) ) )
model.add( Dense(units= 8, activation= 'relu'))
model.add( Dense(units= 1, activation= 'sigmoid'))
model.compile(optimizer= optimizer , loss= 'binary_crossentropy', metrics= ['accuracy'])
return model
2. 인공지능 모델링
model = KerasClassifier(build_fn= build_model)
3. 파라미터 정의
my_param = { 'batch_size' : [10, 20, 32], 'epochs' : [20, 30, 50], 'optimizer' : ['adam','rmsprop']}
4. GridSearch 모델링 & 학습
grid = GridSearchCV(estimator= model, param_grid= my_param, scoring= 'accuracy')
# X_train과 y_train 을 fit 한다
grid.fit(X_train, y_train)

5. 최적의 파라미터 확인
grid_search.best_params_
>>> {'batch_size': 10, 'epochs': 50, 'optimizer': 'adam'}
grid_search.best_score_
>>> 0.8487500000000001
grid_search.best_estimator_
>>> <keras.wrappers.scikit_learn.KerasClassifier at 0x7fbbb84f0d10>'Deep Learning' 카테고리의 다른 글
| Learning rate 를 옵티마이저에서 셋팅하는 코드 (0) | 2022.12.28 |
|---|---|
| 인공지능 모델로 새로운 데이터 예측하기 (0) | 2022.12.28 |
| Tensorflow, 회귀 문제 모델링 하는 방법 (0) | 2022.12.28 |
| Tensorflow, 분류 문제 모델링 하는 방법 (1) | 2022.12.27 |
| Tensorflow - epoch 와 batch size 에 대한 설명 (0) | 2022.12.27 |