인공지능을 설정하는데에 있어 파라미터 값이
인공지능 성능에 크게 영향을 끼치는 것을 하이퍼 파라미터(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은 모든 값들을 반복해서 모두 다 돌려봐라라는것
그리고 변수에 다음과 같이 파라미터를 설정하여 저장한다.
위와 같이 설정된 모든 파라미터를 계산하여 각각 점수를 내어준다.
# 가장 좋은 조합의 인공지능을 가져오는 코드
best_classifier = grid.best_estimator_
y_pred = best_classifier.predict(X_test)
그 후 best_estimator_ 문장으로 가장 좋은 점수를 받은 파라미터 값을 가져와 테스트 데이터를 돌려주고 확인해준다.
'머신러닝 > 머신러닝 할 때 꼭 짚고 넘어갈 것' 카테고리의 다른 글
Pandas의 groupby 함수 사용법 (0) | 2022.05.11 |
---|---|
WordCloud 에서 배경모양을 바꿔보자. (0) | 2022.05.10 |
머신러닝에서 신규 데이터를 예측하는 순서 / Scaler (스케일러)나 Encoder(인코더)의 fit_transform() 과 transform() 함수 사용법 (0) | 2022.05.06 |
머신러닝 전 꼭 알고 가자! - Feature Scaling 의 2가지 방법 : StandardScaler(표준화), MinMaxScaler(정규화) (0) | 2022.05.05 |
머신러닝 전 꼭 알고 가자! - 카테고리컬 데이터를 처리하는 방법 : 레이블 인코딩, 원 핫 인코딩(sklearn 라이브러리와 Pandas 라이브러리 이용 방법) (0) | 2022.05.05 |
댓글