
239
6
장
결정 트리
6.8
회귀
결정 트리는 회귀 문제에도 사용할 수 있습니다. 사이킷런의
DecisionTreeRegressor
를 사용
해 잡음이 섞인
2
차 함수 형태의 데이터셋에서
max
_
depth
=
2
설정으로 회귀 트리를 만들어보
겠습니다.
13
from sklearn.tree import DecisionTreeRegressor
tree_reg = DecisionTreeRegressor(max_depth=2)
tree_reg.fit(X, y)
만들어진 트리는 [그림
6
-
4
]와 같습니다.
그림
6-4
회귀 결정 트리
앞서 만든 분류 트리와 매우 비슷해 보입니다. 주요한 차이는 각 노드에서 클래스를 예측하는 대
신 어떤 값을 예측한다는 점입니다. 예를 들어
x
1
=
0
.
6
인 샘플의 타깃값을 예측한다고 가정해보
겠습니다. 루트 노드부터 시작해서 트리를 순회하면 결국
value
=
0
.
111
인 리프 노드에 도달하
게 됩니다. 이 리프 노드에 있는
110
개 훈련 샘플의 평균 타깃값이 예측값이 됩니다. 이 예측값
을 사용해
110
개 샘플에 대한 평균제곱오차 (
MSE
)를 계산하면
0
.
015
가 됩니다.
13
옮긴이_ 이 코드에 있는 훈련 데이터는
y
=
4
(
x
-
0
.
5
)
2
을 사용하여 만들었으며
y
값에 랜덤한 잡음을 섞었습니다.