[ML] 의사결정나무(Decision Tree) - 지니계수, 엔트로피
의사 결정 나무(Decision Tree)는 주어진 입력값들의 조합에 대한 의사결정규칙(rule)에 따라 출력값을 예측하는 모형
의사결정나무 모델은 불순도가 낮아지는 방향으로 학습을 하는데, 이때 지니계수와 엔트로피 가 사용됩니다.
지니계수와 엔트로피
- CART 알고리즘에서 사용되는 것으로, 트리를 그릴 때 추가하여 값을 볼 수 있습니다.
- 사용 목적
- 분류를 할 때 True, False 로 완전히 나눠지지 않는데, 이때 값이 얼마나 섞여있는지를 수치로 나타내기 위해 사용합니다.
- 0에 가까울수록 다른 값이 섞여있지 않은 상태입니다.
- 분류의 분할에 대한 품질을 평가할 때 사용합니다.
지니계수(Gini Index)
- 집합에 이질적인 것이 얼마나 섞여있는지를 측정하느 지표입니다.
- 어떤 집합에서 한 항목을 뽑아 무작위로 라벨을 추정할 때, 틀릴 확률을 말합니다.
- 집합에 있는 항목이 모두 같다면, 지니 불순도는 최솟값(0)을 갖게 되며 이 집합은 완전히 순수하다고 말할 수 있습니다.
예시로 이해하기
- 주머니에 빨간색 구슬 7개, 초록색 구슬 3개가 들어있다고 가졍하여 봅시다.
- 그럼 아래의 지니 불순도 계산식에 의해 0.42 라는 값이 나옵니다.
- 즉, 주머니 속 초록색 구슬(불순물)이 42% 차지하고 있다는 뜻입니다.
- 식당에 갔는데 짜장면, 짬뽕 2 가지 메뉴만 존재한다고 가정하여 봅시다.
- 선택지 경우는 2가지가 됩니다.
- 그럼 아래 지니 불순도 계산식에 의해 0.5 라는 값이 나옵니다.
- 반반인 경우는 최악의 경우를 말합니다.
정보 엔트로피(Entropy)
- 확률분포가 가지는 정보의 확신도 혹은 정보량을 수치로 표현한 것입니다.
- 확률분포에서 특정 값이 나올 확률이 높아지고 나머지 값의 확률이 낮아지면 엔트로피는 작은 값을 가집니다.
- 엔트로피가 높다는 것은 불순도가 높다는 뜻이고, 엔트로피가 낮다는 것은 불순도가 낮다는 뜻입니다.
- 즉, 엔트로피가 0이면 불순도는 최소이고 한 범주 안에 하나의 데이터만 있다는 뜻입니다.
예시로 이해하기
-
Fig 1 의 결정 경계로 엔트로피 값 구해보기
- 파란색 영역
- 파란색 동그라미(48개), 빨간색 세모(18개) 를 포함합니다.
- 아래의 엔트로피 계산식에 의해
0.845
라는 값이 나옵니다.
- 빨간색 영역
- 파란색 동그라미(2개), 빨산색 세모(32개) 를 포함합니다.
- 아래의 엔트로피 계산식에 의해
0.323
라는 값이 나옵니다.
- 파란색 영역
Reference
- 📷 이미지 출처 [텐서플로우 블로그 (Tensor ≈ Blog)] - 2.3.5 결정 트리
- [위키백과, 우리 모두의 백과사전] - 결정 트리 학습법
- [위키백과, 우리 모두의 백과사전] - 정보 엔트로피
- [티스토리 by 볼록티] - 지니불순도(Gini impurity)
- [데이터 사이언스 스쿨] - 10.1 엔트로피
- [티스토리 by 후이] - [Machine learning] 의사결정나무 - 지니계수(gini-index), Cross entropy, 정보이득 (information gain), ID3, C4.5, CART
- [데이터 과학] - 10 장 의사결정나무
개인 공부 기록용 블로그입니다
오류나 틀린 부분이 있을 경우 댓글 혹은 메일로 따끔하게 지적해주시면 감사하겠습니다 :)
댓글남기기