
234
1
부
머신러닝
6.3
클래스 확률 추정
결정 트리는 한 샘플이 특정 클래스
k
에 속할 확률을 추정할 수도 있습니다. 먼저 이 샘플
에 대해 리프 노드를 찾기 위해 트리를 탐색하고 그 노드에 있는 클래스
k
의 훈련 샘플의 비
율을 반환합니다. 예를 들어 길이가
5cm
이고 너비가
1
.
5cm
인 꽃잎을 발견했다고 가정합시
다. 이에 해당하는 리프 노드는 깊이
2
에서 왼쪽 노드이므로 결정 트리는 그에 해당하는 확
률을 출력합니다. 즉,
Iris
-
Setosa
는
0
%(
0
/
54
),
Iris
-
Versicolor
는
90
.
7
%(
49
/
54
),
Iris
-
Virginica
는
9
.
3
%(
5
/
54
)입니다. 만약 클래스를 하나 예측한다면 가장 높은 확률을 가진
Iris
-
Versicolor
(클래스
1
)를 출력할 것입니다. 확인해봅시다.
>>> tree_clf.predict_proba([[5, 1.5]])
array([[0. , 0.90740741, 0.09259259]])
>>> tree_clf.predict([[5, 1.5]])
array([1])
정확하네요! 추정된 확률은 [그림
6
-
2
]의 오른쪽 아래 사각형 안에서는 어느 위치든 동일합니
다.
2
예를 들어 길이가
6cm
이고 너비가
1
.
5cm
인 꽃잎도 확률이 같습니다(사실 이 경우에는
Iris
-
Virginica
에 더 가까워 보입니다 ).