다양한 max_depth 시도하기
머신러닝 모델은 가능한 한 최선의 예측을 하도록 항상 최적화하고자 해요. 이를 위해 모델의 설정값인 하이퍼파라미터를 튜닝할 수 있습니다. 하이퍼파라미터가 왜 유용한지는 뒤 챕터에서 더 자세히 다루지만, 지금은 예측 성능을 개선하기 위해 조절하는 다이얼이라고 생각하시면 됩니다.
일반적인 decision trees에서 가장 중요한 하이퍼파라미터는 아마도 max_depth일 거예요. 이는 결정 트리의 분할 횟수(깊이)를 제한합니다. 테스트 세트에서 모델의 R\(^2\) 점수를 기준으로 가장 좋은 max_depth 값을 찾아봅시다. 이 점수는 결정 트리 모델의 score() 메서드로 얻을 수 있습니다.
이 연습은 강의의 일부입니다
Python으로 배우는 금융 분야 Machine Learning
연습 안내
- 결정 트리 모델의
max_depth값으로 3, 5, 10을 순회하며 시도하세요. - 각 루프 반복에서 DecisionTreeRegressor의
max_depth를d로 설정하세요. train_features와train_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')