Gini 계수와 엔트로피는 기계 학습, 특히 의사결정나무(Decision Tree) 알고리즘에서 분할 기준으로 사용되는 두 가지 중요한 척도입니다. 이 두 척도는 데이터의 불확실성을 정량화하여 모델이 최적의 분할을 선택할 수 있도록 돕습니다. 이번 글에서는 Gini 계수와 엔트로피를 수식 중심으로 심도 있게 분석하고, 이들이 어떻게 작동하는지 설명하겠습니다.
Gini 계수란?
Gini 계수(Gini Index)는 데이터의 혼합 정도, 즉 불순도(Impurity)를 정량화하는 지표로 정의됩니다. Gini 계수는 다음과 같은 수식으로 표현됩니다:
Gini(D) = 1 - ∑i=1C pi2
여기서:
D
: 현재 데이터 집합C
: 클래스의 수pi
: 클래스i
에 속하는 샘플의 비율
Gini 계수는 0에서 0.5 사이의 값을 가지며, 값이 낮을수록 데이터의 순도가 높음을 나타냅니다. Gini 계수가 0일 경우, 모든 데이터가 동일한 클래스에 속해 매우 순수한 상태를 나타내며, 반면 0.5에 가까운 값은 데이터가 여러 클래스에 혼합되어 높은 불순도를 지닌다는 것을 의미합니다.
Gini 계수는 주로 의사결정나무에서 노드의 분할 기준으로 사용되며, 각 노드를 가능한 한 순수하게 만들기 위해 Gini 계수를 최소화하는 방향으로 학습이 이루어집니다.
엔트로피란?
엔트로피(Entropy)는 정보 이론에서 유래한 개념으로, 불확실성의 정도를 정량화하는 척도입니다. 의사결정나무에서 엔트로피는 데이터의 혼합 정도, 즉 데이터의 무질서성을 표현하며, 다음과 같은 수식으로 정의됩니다:
Entropy(D) = -∑i=1C pi log2(pi)
여기서:
D
: 현재 데이터 집합C
: 클래스의 수pi
: 클래스i
에 속하는 샘플의 비율
엔트로피 값은 0에서 log2(C)
사이의 값을 가지며, 클래스가 두 개인 경우 최대값은 1입니다. 엔트로피가 0이라는 것은 모든 데이터가 동일한 클래스에 속해 불확실성이 없음을 의미하며, 엔트로피가 높아질수록 데이터의 혼합 정도가 증가하고 불확실성도 커지게 됩니다.
의사결정나무 알고리즘에서 엔트로피는 정보 이득(Information Gain)을 계산하는 데 사용됩니다. 정보 이득은 특정 속성을 기준으로 데이터를 분할했을 때 전체 데이터의 불확실성이 얼마나 감소했는지를 측정하는 지표로, 다음과 같은 수식으로 정의됩니다:
Information Gain = Entropy(D) - ∑j=1k (|Dj| / |D|) Entropy(Dj)
여기서 Dj
는 속성에 따라 분할된 데이터 집합을 나타냅니다. 정보 이득이 높은 분할이 최종적으로 선택되어 최적의 트리 구조를 형성하게 됩니다.
Gini 계수와 엔트로피의 비교
Gini 계수와 엔트로피는 모두 데이터의 불확실성을 정량화하기 위한 도구이지만, 각각의 특성과 계산 복잡도에서 차이가 있습니다. 엔트로피는 로그 함수를 사용하기 때문에 Gini 계수에 비해 계산이 다소 복잡할 수 있으며, 계산 비용이 높을 수 있습니다. 반면 Gini 계수는 제곱 계산을 기반으로 하여 상대적으로 계산이 단순하고 빠르기 때문에, 실무에서 종종 선호되는 경우가 많습니다. 두 척도는 대부분의 상황에서 유사한 분할을 생성하지만, 특정 문제에 따라 실험을 통해 최적의 척도를 선택하는 것이 일반적입니다.
- 계산 복잡도: Gini 계수는 단순한 제곱 계산으로 이루어져 엔트로피보다 계산 속도가 빠릅니다.
- 결과 차이: Gini 계수와 엔트로피는 비슷한 방향으로 데이터를 분할하지만, 엔트로피는 분할의 균형을 조금 더 중시하는 경향이 있습니다.
의사결정나무에서의 활용
의사결정나무 알고리즘에서는 각 노드에서 가능한 모든 속성에 대해 Gini 계수나 엔트로피를 계산하여 최적의 분할을 선택합니다. 이러한 과정을 반복적으로 수행하여 트리를 성장시키며, 이 과정에서 Gini 계수를 사용하든 엔트로피를 사용하든 목표는 동일합니다: 데이터를 최대한 잘 분류하는 것입니다.
아래는 두 척도를 사용한 분할 과정을 요약한 예시입니다:
- Gini 계수 사용 시: 불순도를 최소화하는 방향으로 데이터를 나누어 나감.
- 엔트로피 사용 시: 정보 이득을 최대화하는 방향으로 데이터를 나누어 나감.
결과적으로, 의사결정나무는 데이터를 가능한 한 순수한 상태로 나누는 것을 목표로 하며, Gini 계수와 엔트로피는 이러한 목표를 달성하는 데 필수적인 역할을 합니다.
결론
Gini 계수와 엔트로피는 의사결정나무 모델에서 데이터의 불확실성을 측정하는 데 매우 중요한 역할을 합니다. Gini 계수는 불순도를 단순하고 빠르게 정량화하는 방식으로, 엔트로피는 로그 계산을 통해 데이터의 무질서성을 정교하게 측정합니다. 두 척도는 각각의 장단점이 있으며, 특정 문제의 특성과 요구사항에 맞추어 적절한 척도를 선택하는 것이 중요합니다.
의사결정나무와 같은 기계 학습 알고리즘에서 이러한 개념을 깊이 있게 이해하는 것은 모델의 성능을 극대화하고 올바른 의사결정을 내리는 데 중요한 기초가 될 것입니다.
'Data Analysis > MachineLearning' 카테고리의 다른 글
[Python] K-means 군집화 수행하기 (0) | 2025.02.17 |
---|---|
[Kaggle] 머신러닝 문제 해결을 위한 접근법 순서 정리 (0) | 2025.01.21 |
머신러닝 프로젝트를 위한 효율적인 데이터 파이프라인 설계 방법 (1) | 2024.10.31 |
[Machine Learning] Decision Tree와 Random Forest 파이썬 (0) | 2024.10.20 |