본문 바로가기
  • 콩's 코딩노트
머신러닝/머신러닝 할 때 꼭 짚고 넘어갈 것

Grid Serch 에 대해 알아보자.

by Cong_S 2022. 5. 9.

인공지능을 설정하는데에 있어 파라미터 값이

인공지능 성능에 크게 영향을 끼치는 것을 하이퍼 파라미터(Hyper Parameter) 라고 한다.
이 값은 꼭 사람이 설정해줘야하는 값이고
어떤 값으로 설정해야, 똑똑한 인공지능이 나올지는 아무도 모른다.

직접 설정하고 평가해보기 전에는 아무도 모른다.

하나씩 하나씩 값 세팅해서 테스트해봐야 알 수 있다.

하이퍼 파라미터의 값을 일일이 확인해야한다.

위에서 언급한 하이퍼 파라미터(Hyper Parameter) 의 경우 특히 중요한데

이 값을 어떻게 설정하느냐에 따라 결과가

완전 달라질 수 있기 때문에 꼭 다 돌려봐야한다.

하지만 일일이 확인하기엔 너무 불편하고 많은데

 

이때 쓰는 라이브러리가 Grid Search이다!

from sklearn.model_selection import GridSearchCV

 사용법은 다음과 같다.

위 문장으로 import 해온 다음

param_grid = {'C':[0.1 , 1, 10 , 100],'kernel' : ['linear','rbf','poly'], 'gamma' : [1, 0.1 , 0.01]}

파라미터의 옵션으로 사용될 데이터들을 딕셔너리의 형태로 작성해준다.

특히 밸류값은 리스트의 형태로 여러 데이터를 넣어준다.

grid = GridSearchCV(SVC(), param_grid, refit = True, verbose= 4)                

# verbose 는 변수에 저장해도 학습 과정을 보여달라라는 것
# refit은 모든 값들을 반복해서 모두 다 돌려봐라라는것

그리고 변수에 다음과 같이 파라미터를 설정하여 저장한다.

verbose 파라미터로 진행과정을 확인할 수 있다.

위와 같이 설정된 모든 파라미터를 계산하여 각각 점수를 내어준다.

# 가장 좋은 조합의 인공지능을 가져오는 코드
best_classifier = grid.best_estimator_

y_pred = best_classifier.predict(X_test)

그 후 best_estimator_ 문장으로 가장 좋은 점수를 받은 파라미터 값을 가져와 테스트 데이터를 돌려주고 확인해준다.

 

 

댓글