의사결정트리: 엔트로피, 정보이득, 지니계수, 카이제곱스퀘어
0. 의사결정트리
의사결정트리의 기본적인 목표는 범주형 데이터를 예측하는 것입니다.
리그레서를 붙여서 연속형도 처리 가능합니다.
의사결정나무의 리프에 해당하는 변수는 예측하려는 목표 값입니다. 예를 들어 어떤 속성에서의 YES/NO 등이 될 수 있습니다.
의사결정트리 알고리즘의 종류에는 CART, C4.5, C5.0 등이 있습니다.
이러한 알고리즘들은 공통적으로 다음과 같은 특성들이 있습니다.
1) 엔트로피를 사용
2) 지니계수 사용
3) 데이터를 나누는 방법
4) 가장 영향력이 큰 속성으로 분류
1. 엔트로피의 개념
의사결정트리에서 데이터를 나누는 기준을 선택할 때는 엔트로피가 가장 크게 줄어드는 기준으로 나누어야 합니다.
엔트로피는 확률p와 확률p에 밑이 2인 로그를 취한 값을 곱한 후 모두 더한 기댓값으로 계산됩니다.
여기서 확률p란, 전체 데이터에서 특정 데이터가 차지하는 비율을 뜻합니다.
그리고 확률p에 밑이 2인 로그를 취한 값으로는, 그 속성의 정보를 표현하기 위해서 필요한 비트의 수를 확인 할 수 있습니다. 비트는 0과 1의 두 가지이기 때문에, 밑이 2입니다. 몇 개의 비트로 그 정보를 표현할 수 있는지는 곧 필요한 정보의 공간이 얼마나 큰지 알 수 있다는 것인데, 이것이 크다는 뜻은 곧 엔트로피가 크다는 뜻입니다.
- 시그마 위n아래i =1 p( x _i ) log _2 p (x _i )
즉, 필요한 모든 bit 수를 평균한 값이 곧 엔트로피입니다.
마이너스가 붙은 이유는 엔트로피 지수 결과값을 양수로 만들기 위해서 붙이는 것입니다. (영보다 작은 수에 로그 2를 씌우는 과정이 있으므로 음수가 나오기 때문에)
사례: 마이너스 3/5 곱하기 로그 2의 3/5 마이너스 2/5 곱하기 로그 2의 2/5
2. 정보이득 Information Gain
정보이득의 계산은 이렇게 합니다.
정보이득 = 이전 엔트로피 - 현재 엔트로피
정보이득은 클수록 좋습니다.
3. 지니계수
엔트로피는 데이터불순도 측정지수인데, 계산에 로그가 들어가기 떄문에 계산이 상대적으로 느리게 됩니다. 좀 더 간단한 것이 지니계수입니다.
지니계수 = 1 - 시그마 I=1부터 K 까지 P _i 의 제곱
4. 카이제곱스퀘어
엔트로피가 데이터불순도를 낮추는 방향으로 나누는 것이라면, 카이제곱스퀘어는 상관관계가 가장 적도록 데이터를 나누는 방법입니다.
카이제곱스퀘어는 데이터의 독립성 검정을 위해 사용하기도 합니다.