시작하기무료로 시작하기

다양한 max_depth 시도하기

머신러닝 모델은 가능한 한 최선의 예측을 하도록 항상 최적화하고자 해요. 이를 위해 모델의 설정값인 하이퍼파라미터를 튜닝할 수 있습니다. 하이퍼파라미터가 왜 유용한지는 뒤 챕터에서 더 자세히 다루지만, 지금은 예측 성능을 개선하기 위해 조절하는 다이얼이라고 생각하시면 됩니다.

일반적인 decision trees에서 가장 중요한 하이퍼파라미터는 아마도 max_depth일 거예요. 이는 결정 트리의 분할 횟수(깊이)를 제한합니다. 테스트 세트에서 모델의 R\(^2\) 점수를 기준으로 가장 좋은 max_depth 값을 찾아봅시다. 이 점수는 결정 트리 모델의 score() 메서드로 얻을 수 있습니다.

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

Python으로 배우는 금융 분야 Machine Learning

강의 보기

연습 안내

  • 결정 트리 모델의 max_depth 값으로 3, 5, 10을 순회하며 시도하세요.
  • 각 루프 반복에서 DecisionTreeRegressor의 max_depthd로 설정하세요.
  • train_featurestrain_targets에 대한 모델의 점수를 출력하세요.

실습형 인터랙티브 연습

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

# Loop through a few different max depths and check the performance
for d in [____]:
    # Create the tree and fit it
    decision_tree = DecisionTreeRegressor(____)
    decision_tree.fit(train_features, train_targets)

    # Print out the scores on train and test
    print('max_depth=', str(d))
    print(decision_tree.score(____))
    print(decision_tree.score(test_features, test_targets), '\n')
코드 편집 및 실행