파이썬/텐서플로우

GridSearch를 이용한 최적의 하이퍼 파라미터 찾기

공부짱짱열심히하기 2022. 12. 27. 17:21
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import GridSearchCV
from keras.models import Sequential
from keras.layers import Dense

기본 import문

 

그리드 서치의 기본은 

1. 모델링을 함수로 만들기

 

 

2.그리드 서치용 클래서파이어 만들기

model = KerasClassifier(build_fn=  인공지능 함수)

그리드 서치로 찾을 여러 조합 함수로 지정

my_param = {'batch_size' : [10,20,32] , 'epochs' : [20,30,50], 'optimizer' : [옵티마이저 종류] }
grid = GridSearchCV(estimator = model, param_grid= my_param , scoring = 'accuracy' )
grid.fit(X_train,y_train)

그리드에 베스트 파라미터는 무엇
grid.best_params_
베스트 스코어는 무엇
grid.best_score_
최적의 모델은 무엇인가
best_model = grid.best_estimator_
y_pred = best_model.predict(X_test)
best_model.predict_proba(X_test)

한번에 확률이 같이 나옴

confusion_matrix(y_test, y_pred)
accuracy_score(y_test , y_pred)

 

 

1.필요 import

from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import GridSearchCV
from keras.models import Sequential
from keras.layers import Dense


model = KerasClassifier(build_fn=  인공지능 함수)
my_param = {'batch_size' : [10,20,32] , 'epochs' : [20,30,50], 'optimizer' : [옵티마이저 종류] }

grid = GridSearchCV(estimator = model, param_grid= my_param , scoring = 'accuracy' )

grid.fit(X_train,y_train)


-그리드에 베스트 파라미터는 무엇
grid.best_params_

-베스트 스코어는 무엇
grid.best_score_

최적의 모델은 무엇인가
best_model = grid.best_estimator_

y_pred = best_model.predict(X_test)

confusion_matrix(y_test, y_pred)
accuracy_score(y_test , y_pred)