ML

Tuning The Hyper Parameter - RandomizedSearchCV

성지우 2024. 1. 28. 15:11

Hyper Parameter Tunning

만드는 모델의 최고 성능을 내기 위해 수행하는 것

 

RandomizedSearchCV

하이퍼 파라미터 튜닝방법 중 하나

GridSearchCV의 단점들을 조금 보완하고자 나온 방법

검증하려는 하이퍼 파라미터들의 값 범위를 지정해주면 무작위로 값을 지정해 그 조합을 모두 검증

파라미터의 범위를 선정하고 값을 랜덤으로 설정하여 파라미터를 조합하고 평가하는 방식

 

https://datarian.io/blog/grid-search-random-search

 

GridSearchCV와의 차이

GridSearchCV와 방식은 유사하나 근사 최적값을 빨리 찾을 수 있음 

=> 몇 번의 학습과 평가를 반복할 것인지 시도의 수를 직접 정하기 때문

격자 형식의 GridSearchCV와 다르게 그 사이값들도 랜덤으로 탐색할 수 있기 때문에 그 안에서 더 좋은 값을 찾을 수 있다는 장점도 있음

 

https://scikit-learn.org/stable/modules/generated/sklearn.model_selection.RandomizedSearchCV.html#sklearn.model_selection.RandomizedSearchCV

 

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