4절 분류(Classification)
- 2장 결정트리(Decision Tree, 의사결정나무)
본 포스팅은 [위키북스- 파이썬 머신러닝 완벽 가이드]를 활용한 스터디 포스팅입니다.
이번 포스팅에서는 ML 알고리즘 중 가장 직관적이고 대표적인 알고리즘을 스터디하려 한다.
- 결정 트리(Decision Tree)란?
- 데이터에 있는 규칙을 학습 과정을 통해 자동으로 찾아내어 트리 형태의 분류 규칙을 만드는것이다.
- 데이터의 어떤 기준을 바탕으로 규칙을 만들어야 가장 효율적인 분류가 되는지 그 성능을 크게 좌우한다.
- 결정 트리 구조 도식화 및 구성 설명
결정 트리의 구조를 도식화하면 아래와 같이 나타낼 수 있다.
- 규칙 노드(Decision Node) : 분할의 규칙이 명시되어있는 규칙 조건이 담긴 노드이다.
새로운 규칙 노드에 의해 서브 트리가 생성되며, 규칙 노드 하위단에는 규칙노드와 리프 노드로 분할 될 수 있다. - 리프 노드(Leaf Node) : 규칙 노드에 의해 결정된 분류값을 뜻한다.
- 결정 트리 분할(split)에서 주의할 점
결정트리에서 너무 많은 규칙이 있으면 과적합 문제가 발생하기 때문에, 가능한 적은 결정 노드로 높은 예측 정확도를 목표로 모델링 하는 것이 중요하다.
=> 이를 위해선 최대한 많은 데이터 세트가 해당 분류에 속할 수 있도록 결정 노드의 규칙이 정해져 있어야하며, 최대한 균일한 데이터 세트를 구성할 수 있도록 분할하는 것이 필요하다. 여기서 '균일한 데이터셋'이라는 뜻에 대해 더 깊게 알아볼 필요가 있다.
- '균일한 데이터 셋'의 의미
결정 노드는 정보 '균일도'가 높은 데이터 세트를 먼저 선택하여 분할하는 규칙 조건을 만들어야 적은 결정 노드로 높은 분류 정확도를 만들어낼 수 있다.
균일하다는 것의 차이는 아래 그림으로 설명할 수 있다.
- 데이터 셋 A 는 빨간색 공 22개 노란색 공 3개로, 빨간색 공이 훨씬 비중을 많이 차지한다.
- 데이터 셋 B 는 빨간색 공 14개 노란색 공 12개로, 두 색깔의 공이 비슷한 비중을 차지한다.
결과적으로 두 데이터 셋중 A의 데이터가 '더 균일한' 데이터를 가지고 있다고 볼 수 있다.
데이터 셋 B는 데이터 혼잡도가 높기 때문에 분할하는데 상대적으로 시간(비용)이 많이 든다.
- 정보의 균일함을 측정하는 척도 : 정보 이득(1-엔트로피 지수) , 지니 계수
결정 노드에서 사용하는 균일도가 높은 데이터 세트를 판단해 주는 척도가 바로 엔트로피 지수 및 지니 계수이다.
1. 정보 이득(Information Gain, 1-엔트로피 지수)
- 정보 이득은 엔트로피라는 개념을 기반으로 만들어진 척도이다.
- 엔트로피는 주어진 데이터의 혼잡도를 의미하며, 데이터가 균일할 수록 엔트로피 지수는 낮다.
- 때문에 '1-엔트로피 지수'로 구하는 정보 이득은, 그 값이 높을 수록 데이터가 균일한 것을 나타낸다.
2. 지니 계수(Gini) ======> 사이킷 런에서의 DecisionTreeClassifier에서 사용하는 척도
- 경제학에서의 지니 계수는 0에 가까울 수록 데이터가 평등하며, 1에 가까울 수록 데이터가 불평등하다.
- 여기서 "평등"이라는 말이 중요한데, 위의 그림으로 설명하면 Data Set B 는 빨간색 점과 노란색 점이 비슷한 비율로 존재하기 때문에 "평등"한 데이터 셋이라고 말할 수 있다.
- 따라서 머신러닝에서는 위의 의미가 재해석되어, 데이터가 다양한 값을 가질수록 평등하기 때문에 균일하지 않다는 뜻이 된다.
- 결론적으로 지니 계수는 0에 가까울 수록 데이터가 균일도가 낮으며, 1에 가까울 수록 데이터가 균일도가 높음을 알 수 있다.
댓글