본문 바로가기

Python-머신러닝

실습2: 하이퍼 파라미터, 좋은 모델 조합 도출 방법 : Grid Search

반응형

Grid Search 

- 인공지능을 만들려면, 마지막에 평가할 때까지 계속 실험을 해봐야한다. 

- 세팅 값에 따라서, 결과가 달라진다. 정답이 없다.

 

Hyper Parameter 하이퍼 파라미터!!

ㄴ 사람이 설정해줘야 되는 값이고, 어떤 값을 설정해야, 똑똑한 인공지능이 나올지는 아무도 모른다. 

 

svc(kernel = ‘linear’...

kernel{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’} or callable, default=’rbf’

ㄴ 메뉴얼에서 가져와야한다. 

하이퍼 파라미터를 딕셔너리형태로 만들어놓는다.

## 외우자. 

 

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

 

from sklearn.model_selection import GridSearchCV

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

ㄴ 라이브러리를 사용하려면, 변수를 만들어야한다. 

ㄴ 첫번째 자리가, 우리가 쓸 인공지능을 넣어야한다. 괄호까지

ㄴ 두번째 파라미터에, 우리가 만들어놓은 조합

ㄴ 세번째, refit : 재학습하라 

ㄴ 마지막으로 verbose : 메모리에 저장할 때, 화면에 정보를 출력해달라. 

 

-  X_train 학습했다. 

grid.fit(X_train, y_train)

 

- 가장 좋은 조합의 인공지능을 가져오는 코드

best_classifier = grid.best_estimator_

 

X_test.shape

 

y_pred = best_classifier.predict(X_test)

confusion_matrix(y_test,y_pred)

 

- X_test로 학습한 정확도

accuracy_score(y_test,y_pred)

 

- 가장 좋은 모델에 사용된 하이퍼 파라미터는?

grid.best_params_

 

- X_train으로 정리한값

ㄴ 학습 데이터로 테스트를 해서 나온 데이터, 

ㄴ 예측 데이터가 아니다. 

grid.best_score_

 

반응형