인공지능 머신러닝 - 최적의 인공지능 모델 찾기 (GridSearchCV)

Grid Search

  • 인공지능 모델을 설정한 하이퍼 파라미터를 통해 최적의 성능을 보이는 하이퍼 파라미터를 찾는 것
  • 이 글은 인공지능 모델을 SVC로 사용하였으며, 학습 데이터와 테스트 데이터에 대한 결과는 아래의 글에서 확인 가능합니다.

하이퍼 파라미터 (Hyper Parameter)

  • 사용자가 직접 설정해줘야 하는 값
  • 어떤 값을 설정하느냐에 따라 인공지능의 성능이 달라짐

파라미터와 하이퍼 파라미터

  • 파라미터 : 인공지능이 학습하는 과정에서 생성
  • 하이퍼 파라미터 : 사용자가 직접 설정하여 인공지능 모델링

라이브러리 호출

from sklearn.model_selection import GridSearchCV

GridSearch 모델링

하이퍼 파라미터를 찾기 위한 파라미터 조합을 담아놓은 변수
그리드서치 모델 생성

  • GridSearchCV( 인공지능, 조합, refit=True, verbose=n) 
    • 인공지능 : 사용될 인공지능 모델 이름
    • 조합 : 인공지능에 들어갈 조합, param_grid 변수에 여러가지 값을 넣어 각각의 조합으로 학습
    • refit : 하이퍼 파라미터를 찾아 재학습
    • verbose : 학습 과정에서 진행 내용을 출력하기 위한 모드 설정
      • 0 : 출력 안함 / 1 : 진행바(Progress Bar) 출력 / 2 : 각각 Epoch를 한줄씩 출력 등등..

GridSearch 학습

  • param_grid 변수에 나열한 조합들을 이용하여 최적의 성능을 내는 파라미터를 찾음


학습 결과 확인

# 최적의 인공지능 모델 확인
grid.best_estimator_
>>> SVC(C=1, gamma=1)

# 최적의 인공지능 모델에 사용된 하이퍼 파라미터
grid.best_params_
>>> {'C': 1, 'gamma': 1, 'kernel': 'rbf'}

# 최적의 인공지능 모델의 정확도
grid.best_score_
>>> 0.9780219780219781