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_train과 y_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_['____'])