Grid search
모델에게 가장 적합한 하이퍼 파라미터 값을 찾아준다
Grid search 은 모델의 하이퍼 파라미터에 넣을 수 있는 값들을 순차적으로 입력한뒤에 가장 높은 성능을 보이는 하이퍼 파라미터들을 찾는 탐색 방법이다.
먼저 딕셔너리로 파라미터의 조합을 생성해준다.
아래의 예시에서는 인공지능 모델의 들어갈 파라미터값 'kernel' , 'C' , 'gamma' 을 딕셔너리 형식으로 작성한 값이다.

grid search 를 사용하기 위해서 아래의 라이브러리를 임포트 해준다.
from sklearn.model_selection import GridSearchCV
GridSeachCV() 를 변수 grid 에 저장을 해준 후 괄호 안에는 사용할 인공지능과 파라미터 값을 저장한 변수를 넣어준다.
여기서 파라미터 refit =True인 경우 최적의 하이퍼 파라미터값을 찾은 후 입력된 개체를 해당 하이퍼 파라미터로 재학습하라는 의미이다.
verbose는 현재 학습되고 있는 상태를 우리한테 보여주라는 파라미터 값이다.
grid 를 학습 시키기위해 fit 함수를 사용하여 괄호 안에는 X_train 과 y_train 값을 넣어준다
from sklearn.model_selection import GridSearchCV
grid = GridSearchCV( SVC(), param_grid , refit= True, verbose= 4 )
grid.fit(X_train, y_train)

grid.best_estimator_ 은 가장 좋은 인공지능을 가져오라는 의미이다.
가져온 가장 좋은 인공지능을 변수 classifier 에 저장을 해주었다.
classifier = grid.best_estimator_
classifier

여기서 파라미터 best_params_ , best_score_ 는 최적의 파라미터와 최고 점수를 내라는 함수이다.
grid.best_params_
grid.best_score_

최고의 성능을 가져온 인공지능 변수 classifier 로 X_test 값을 예측하였다.
그리고 그 예측한 값을 변수 y_pred 에 저장하여서 정확도를 알아봤을 때의 결과값이다.
y_pred = classifier.predict(X_test)
confusion_matrix(y_test,y_pred)
accuracy_score(y_test, y_pred)

'Machine Learning' 카테고리의 다른 글
| joblib 라이브러리를 이용하여서 인공지능 모델 저장하기 (0) | 2022.12.02 |
|---|---|
| Decision Tree , Random Forest 로 데이터 분류하기 (0) | 2022.12.02 |
| KNN - K-Nearest Neighbo 로 데이터 분류하기 (0) | 2022.12.02 |
| Support Vector Machine - SVM , RBF (0) | 2022.12.02 |
| imblearn 라이브러리 - up sampling 기법으로 불균형 데이터 다루기 (0) | 2022.12.02 |