Tuning The Hyper Parameter - RandomizedSearchCV
Hyper Parameter Tunning
만드는 모델의 최고 성능을 내기 위해 수행하는 것
RandomizedSearchCV
하이퍼 파라미터 튜닝방법 중 하나
GridSearchCV의 단점들을 조금 보완하고자 나온 방법
검증하려는 하이퍼 파라미터들의 값 범위를 지정해주면 무작위로 값을 지정해 그 조합을 모두 검증
파라미터의 범위를 선정하고 값을 랜덤으로 설정하여 파라미터를 조합하고 평가하는 방식
GridSearchCV와의 차이
GridSearchCV와 방식은 유사하나 근사 최적값을 빨리 찾을 수 있음
=> 몇 번의 학습과 평가를 반복할 것인지 시도의 수를 직접 정하기 때문
격자 형식의 GridSearchCV와 다르게 그 사이값들도 랜덤으로 탐색할 수 있기 때문에 그 안에서 더 좋은 값을 찾을 수 있다는 장점도 있음
RandomizedSearchCV의 parameter
- estimator : 모델 객체 지정
- param_distributions : 하이퍼파라미터 목록을 dictionary로 전달 (param_grid와 비슷)
- n_iter : 파라미터 검색 횟수 (default = 10)
- scoring : 평가지표
- cv : 교차검증 시 fold 개수
- n_jobs : 사용할 CPU코어 개수 (1 : default, -1 : 모든 코어 다 사용)
RandomizedSearchCV의 attributes
- cv_results_ : 파라미터별 조합별 결과 조회
- best_params_ : 가장 좋은 성능을 낸 parameter 조합 조회
- best_estimator_ : 가장 좋은 성능을 낸 모델 반환
참고 및 출처 : https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV , https://blog.naver.com/dalgoon02121/222103377185 , https://goatlab.tistory.com/entry/Machine-Learning-%EB%AC%B4%EC%9E%91%EC%9C%84-%ED%83%90%EC%83%89-RandomizedSearchCV?category=1245112 , https://datarian.io/blog/grid-search-random-search