from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import GridSearchCV
from keras.models import Sequential
from keras.layers import Dense
GridSearch 할 때 필요한 라이브러리들이다.
def build_classifier(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
1. GridSearch 를 하기 위해 먼저 모델링을 해주어야한다.
위는 ANN을 모델링하는 함수이다.
my_parameters = {'epochs':[30,50], 'batch_size':[10,20], 'optimizer' : ['adam', 'rmsprop']}
2. 다음 개발자가 직접 설정해주어야하는 Hyper Parameter 들을 원하는 조건들에 딕셔너리의 밸류 값에 넣어준다.
grid_search = GridSearchCV(estimator= model, param_grid= my_parameters, scoring= 'accuracy')
3. 그 다음 import 해온 GridSearch 함수를 가져와
estimator 에 모델링한 ANN을 넣어주고
param_grid 에 위에서 입력한 Hyper Parameter 딕셔너리를 넣어준다.
scoring은 원하는 값으로 넣어주자.
grid_search.fit(X_train, y_train)
4. 그 다음 fit 함수를 이용해 인공지능을 학습용 데이터로 학습시킨다,
여러 조건들을 경우의 수만큼 다 넣어가며 계산해야하므로 시간이 꽤 오래 걸릴 수 있다.
모든 계산이 끝났다면 best_params_ 속성으로 가장 높은 점수를 받은 파라미터 값들을 확인하거나
best_score_로 최고 점수를 확인할 수 있다.
grid_search.best_estimator_
모든 과정이 끝난 GridSearch는 변수에 저장해 인공지능으로 사용할 수 있다.
'TensorFlow' 카테고리의 다른 글
TensorFlow - Validation Data란 무엇일까? 사용 방법은? (0) | 2022.06.13 |
---|---|
TensorFlow - 옵티마이저의 Learning Rate (0) | 2022.06.13 |
TensorFlow 에서 회귀(regression)의 문제 모델링하기 (0) | 2022.06.10 |
TensorFlow 에서 분류(classifier)의 문제 모델링하기 (0) | 2022.06.10 |
TensorFlow 학습할 때 사용하는 epoch와 batch_size의 대해 알아보자. (0) | 2022.06.10 |
댓글