← 문제 목록/분할의 가중 Gini
문제 해설

분할의 가중 Gini

정보이론 · easy

preview

분할의 가중 Gini

38번 Gini 불순도 는 하나의 분포에 대해 계산했죠. 의사결정 나무 가 이 지표를 실제 사용 하는 방식은 분할 후 두 자식 노드의 Gini 를 샘플 수 가중 평균 합니다:

Gsplit=LNGini(L)+RNGini(R)\text{G}_\text{split} = \frac{|L|}{N} \text{Gini}(L) + \frac{|R|}{N} \text{Gini}(R)

이 값이 작을수록 좋은 split — 자식 노드들이 더 "순수" 해진 것. 트리는 매 노드에서 이 지표를 최소화하는 feature/threshold 를 탐색합니다.

과제

함수 weighted_gini_split(labels_left, labels_right) 를 완성하세요.

  • 두 정수 레이블 배열 (각각 왼쪽/오른쪽 자식 노드의 샘플 레이블).
  • 각 배열의 클래스별 확률로 Gini 계산 후 가중 평균.
  • 한쪽이 빈 배열이면 해당 자식의 Gini 는 0 (샘플 없음).
  • 둘 다 빈 경우 0.0 반환.

테스트 케이스

#이름검증
1완벽 분할 (각 자식 단일 클래스)0
2한쪽 비어 있음 → 다른 쪽 Gini
3균등 섞임 (각 자식 50/50)0.5
4가중치 반영큰 쪽이 작은 쪽보다 영향 ↑
5수치 검증손계산과 일치
코드 작성
Loading...
실행 결과

코드를 작성하고 Run 을 눌러보세요.