시작하기무료로 시작하기

GridSearch 하이퍼파라미터 설정

하이퍼파라미터는 함수 내부에서 설정하는 파라미터를 말합니다. 예를 들어, max_depthmin_samples_leafDecisionTreeClassifier() 함수의 하이퍼파라미터입니다. 하이퍼파라미터 튜닝은 서로 다른 하이퍼파라미터 값을 시험해 보며 최적의 값을 찾는 과정으로, 목표에 비추어 예측 성능이 가장 좋은 값을 선택합니다. sklearn에서는 GridSearch를 사용해 다양한 하이퍼파라미터 조합을 시험할 수 있습니다. 더 나아가, GridSearchCV()를 사용하면 다양한 조합을 시험하면서 교차 검증까지 한 번에 수행할 수 있어요!

이 연습에서는 max_depthmin_samples_leaf에 대해 시험할 다양한 값을 준비하겠습니다. 그런 다음 이를 딕셔너리에 담을 텐데, GridSearchCV()에서 다음과 같은 형식을 요구하기 때문입니다:

  • 딕셔너리의 키는 하이퍼파라미터 이름
  • 딕셔너리의 값은 시험해 볼 속성(하이퍼파라미터 값들)

모든 값을 일일이 작성하는 대신, 값을 순차적으로 생성할 수 있는 range() 함수를 사용하겠습니다. 예를 들어, range(1, 10, 2)는 1 이상 10 미만의 값을 2씩 증가시키며 생성하므로, 최종 결과는 [1, 3, 5, 7, 9]가 됩니다.

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

HR Analytics: Python으로 직원 이탈 예측하기

강의 보기

연습 안내

  • 위 예시 형식에 따라 최대 깊이 값을 5부터 20까지 1씩 증가하도록 생성하세요.
  • 최소 샘플 수는 50부터 450까지 50씩 증가하도록 동일하게 생성하세요.
  • 방금 만든 변수를 사용해, 시도할 max_depthmin_samples_leaf 값을 각각 지정하여 딕셔너리를 만드세요.

실습형 인터랙티브 연습

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

# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]

# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]

# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)
코드 편집 및 실행