시작하기무료로 시작하기

그리드 서치

하이퍼파라미터 튜닝은 sklearn에서 다양한 입력 파라미터를 제공해 수행할 수 있고, 각 파라미터는 numpy의 여러 함수로 생성할 수 있어요. param_grid로 지정한 모든 입력 하이퍼파라미터 조합을 샅샅이 탐색하는 방법이 바로 그리드 서치입니다. 이 연습 문제에서는 ROC 곡선의 AUC를 스코어링 함수로 사용해, 예시 랜덤 포레스트 분류기의 하이퍼파라미터를 그리드 서치로 탐색해 보겠습니다.

X_train, y_train, X_test, y_test가 작업 공간에 준비되어 있어요. pandaspd, numpynp, 그리고 sklearn도 사용할 수 있어요. 또한 sklearn.model_selectionGridSearchCV()도 제공됩니다.

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

Python으로 Machine Learning을 활용한 CTR 예측

강의 보기

연습 안내

  • n_estimatorsmax_depth의 각 하이퍼파라미터에 대해 값 목록을 만드세요.
  • 랜덤 포레스트 분류기를 생성하세요.
  • 모든 하이퍼파라미터 조합을 순회하도록 그리드 서치를 설정하세요.
  • .best_score_로 최고 AUC 점수를 출력하고, 이 점수를 낳은 최고 추정기는 .best_estimator_로 출력하세요.

실습형 인터랙티브 연습

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

# Create list of hyperparameters 
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}

# Use Grid search CV to find best parameters 
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)
코드 편집 및 실행