오답노트
[ML] GridSearchCV, RandomizedSearchCV 본문
GridSearchCV()
머신러닝의 파라미터들을 딕셔너리 형태로 묶어두고 전부 학습을 시킨다.
model=gridSearch(RandomForestClassifier()) 의 형태로 만든 후 학습 및 검증을 시도한다.
parameters=[
{'C':[1, 10, 100, 1000], 'kernel':['linear']},
{'C':[1, 10, 100], 'kernel':['rbf'], 'gamma':[0.001, 0.0001]},
{'C':[1, 10, 100, 1000], 'kernel':['sigmoid'], 'gamma':[0.001, 0.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 |