알고리즘과 같은 CART 및 의사 결정 트리는 주어진 목표 클래스에 대해 가능한 순수한 서브 세트를 얻기 위해 학습 세트의 재귀 분할을 통해 작동합니다. 트리의 각 노드 는 기능의 특정 테스트에 의해 분할 된 특정 레코드 세트 와 연관됩니다 . 예를 들어, 연속적인 속성 A 에서의 분할 은 테스트 A ≤ x에 의해 유발 될 수 있습니다 . 그런 다음 레코드 세트 T 는 트리의 왼쪽 분기와 오른쪽 분기로 이어지는 두 개의 하위 세트로 분할됩니다.티ㅏA ≤ x티
티엘= { t ∈ T: t ( A ) ≤ x }
과
티아르 자형= { t ∈ T: t ( A ) > x }
마찬가지로 범주 형 특징 를 사용하여 값에 따라 분할을 유도 할 수 있습니다. 예를 들어, B = { b 1 , … , b k } 이면 각 분기 i 는 테스트 B = b i에 의해 유도 될 수 있습니다 .비B = { b1, … , b케이}나는B = b나는
의사 결정 트리를 유도하기위한 재귀 알고리즘의 나누기 단계는 각 기능에 대해 가능한 모든 분할을 고려하고 선택한 품질 측정 (분할 기준)에 따라 최상의 분할을 찾습니다. 다음 체계에 따라 데이터 세트가 유도 된 경우
ㅏ1, … , A미디엄, C
ㅏ제이씨( E1, E2, … , E케이)이자형나는( ⋅ )
Δ = I( E) − ∑나는 = 1케이| 이자형나는|| 이자형|나는( E나는)
이자형피제이이자형씨제이
피제이= | { t ∈ E: t [ C] = c제이} || 이자형|
Gini(E)=1−∑j=1Qp2j
Q
모든 레코드가 동일한 클래스에 속할 때 불순물이 0이됩니다.
T(1/2,1/2)T
Tl(1,0)Tr(0,1)TlTr|Tl|/|T|=|Tr|/|T|=1/2Δ
Δ=1−1/22−1/22−0−0=1/2
Δ
Δ=1−1/22−1/22−1/2(1−(3/4)2−(1/4)2)−1/2(1−(1/4)2−(3/4)2)=1/2−1/2(3/8)−1/2(3/8)=1/8
첫 번째 분할은 최상의 분할로 선택되고 알고리즘은 재귀 방식으로 진행됩니다.
의사 결정 트리를 사용하여 새 인스턴스를 쉽게 분류 할 수 있습니다. 실제로 루트 노드에서 리프까지의 경로를 따르는 것으로 충분합니다. 레코드는 도달하는 리프의 대다수 클래스로 분류됩니다.
이 그림 에서 사각형 을 분류하고 싶다고 가정 해보십시오.
A,B,CCAB
가능한 의사 결정 트리는 다음과 같습니다.
레코드 사각형 은 레코드가 원으로 표시된 잎에 떨어지면 의사 결정 트리에 의해 원으로 분류되는 것이 분명합니다 .
이 장난감 예제에서 훈련 세트의 정확도는 100 %입니다. 기록은 트리에 의해 잘못 분류되지 않기 때문입니다. 위의 훈련 세트의 그래픽 표현에서 트리가 새 인스턴스를 분류하는 데 사용하는 경계 (회색 점선)를 볼 수 있습니다.
의사 결정 트리에 관한 많은 문헌이 있습니다. 나는 단지 스케치를 소개하고 싶었습니다. 또 다른 유명한 구현은 C4.5입니다.