시작하기무료로 시작하기

RandomizedSearchCV 객체

Scikit Learn의 GridSearchCV와 마찬가지로, RandomizedSearchCV도 무작위 탐색을 효율적으로 수행하는 데 유용한 기능을 많이 제공합니다. 이번에는 GridSearchCV에서 필요한 작은 수정만 적용해 RandomizedSearchCV 객체를 만들어 보겠습니다.

원하는 옵션은 다음과 같습니다:

  • 기본 Gradient Boosting Classifier 추정기 사용
  • 5-겹 교차 검증
  • 모델 평가는 accuracy 사용
  • 병렬 처리를 위해 코어 4개 사용
  • 최적 모델을 다시 학습(refit)하고 학습 점수 반환
  • 무작위로 10개 모델 샘플링

하이퍼파라미터 그리드는 learning_rate(0.1에서 2 사이의 값 150개)와 min_samples_leaf(20에서 64까지의 모든 정수 값)에 대해 설정하세요.

사용 가능한 데이터셋은 X_trainy_train입니다.

이 연습은 강의의 일부입니다

Python에서의 하이퍼파라미터 튜닝

강의 보기

연습 안내

  • 위의 컨텍스트에 따라 파라미터 그리드를 만드세요.
  • 위의 컨텍스트에 따라 RandomizedSearchCV 객체를 만드세요.
  • 학습 데이터에 RandomizedSearchCV 객체를 학습(fit)하세요.
  • 모델링 과정에서 선택된 두 하이퍼파라미터 값을 출력하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))} 

# Create a random search object
random_GBM_class = ____(
    estimator = ____,
    ____ = param_grid,
    ____ = 10,
    scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)

# Fit to the training data
random_GBM_class.fit(____, ____)

# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])
코드 편집 및 실행