오답노트

[ML] GridSearchCV, RandomizedSearchCV 본문

머신러닝, 딥러닝

[ML] GridSearchCV, RandomizedSearchCV

장비 정 2021. 1. 28. 20:48

GridSearchCV()

 

머신러닝의 파라미터들을 딕셔너리 형태로 묶어두고 전부 학습을 시킨다.

 

model=gridSearch(RandomForestClassifier()) 의 형태로 만든 후 학습 및 검증을 시도한다.

 

parameters=[

    {'C':[1101001000], 'kernel':['linear']},

    {'C':[110100], 'kernel':['rbf'], 'gamma':[0.0010.0001]},

    {'C':[1101001000], 'kernel':['sigmoid'], 'gamma':[0.0010.0001]}

]

 

위와 같이 파라미터들을 정의한다면

 

윗 줄에서부터 4번 6번 8번 학습을하며

 

총 18번, KFold의 n_splits=5 라면 18*5 해서 총 90번의 학습을 한다.

 

현재까지 배운 기초적인 모델들인 LinearSVC, SVC, RandomForest, DecisionTree, KNeighbor.. 등

 

전부 다른 파라미터값들을 갖고 있기 때문에 유의해야한다.

 

학습시킬 파라미터들을 넣은 뒤 학습을 시키고 그 중 가장 학습성과가 좋은 파라미터들을

 

model.best_estimator_ 로 출력을 시킨다.

 

from sklearn.model_selection import GridSearchCV 로 임포트 할 수 있다.

 

 

RandomizedSearchCV()

 

위에 설명한 GridSearchCV() 와 같은 형태로 임포트 및 작성한다.

 

이름에서 알 수 있듯이 GridSearchCV 와는 달리 랜덤으로 파라미터들을 골라 그것들만 계산한다.

 

따라서 GridSearchCV 에 비해 속도가 훨씬 빠르나, 성능적인 면에서는 큰 차이가 없다.

 

'머신러닝, 딥러닝' 카테고리의 다른 글

[ML] XGBoost - model save, load  (0) 2021.02.02
[ML] XGBoost - eval_metric, eval_set, eval_results  (0) 2021.02.02
[ML] KFold, cross_val_score  (0) 2021.01.28
[ML] machine learning - all_estimators  (0) 2021.01.27
[DL] Google Colab  (0) 2021.01.26