시작하기무료로 시작하기

의사결정나무 학습하기

Random forests는 예측에서 널리 쓰이는 기본 모델로, 별도 설정 없이도 잘 작동해요. 하지만 먼저 random forests의 구성 요소인 의사결정나무부터 살펴보겠습니다.

의사결정나무는 특징(feature)에 따라 데이터를 여러 그룹으로 나눕니다. 루트 노드에서 시작해 데이터를 분기하며 내려가고, 마지막에는 리프 노드(leaf node)에 도달해요.

decision tree

sklearnDecisionTreeRegressor.fit(features, targets)를 사용해 의사결정나무를 학습할 수 있어요.

나무의 깊이(또는 높이)를 제한하지 않으면, 각 리프에 샘플이 1개만 남을 때까지 계속 분할하며, 이는 전형적인 과적합입니다. 과적합에 대해서는 다음 장에서 더 자세히 다룰게요.

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

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

강의 보기

연습 안내

  • 가져온 DecisionTreeRegressor 클래스를 기본 인자(즉, 인자 없음)로 사용해 decision_tree라는 의사결정나무 모델을 생성하세요.
  • 앞에서 만든 train_featurestrain_targets(현재 요일과 거래량 특징을 포함)을 사용해 모델을 학습하세요.
  • 학습용 특징과 타깃에 대한 점수, 그리고 test_featurestest_targets에 대한 점수도 출력하세요.

실습형 인터랙티브 연습

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

from sklearn.tree import DecisionTreeRegressor

# Create a decision tree regression model with default arguments
decision_tree = ____

# Fit the model to the training features and targets
decision_tree.fit(____)

# Check the score on train and test
print(decision_tree.score(train_features, train_targets))
print(decision_tree.score(____))
코드 편집 및 실행