의사 결정 트리를 위한 지니 지수: 메커니즘, 예시를 통한 완전 및 불완전 분할
게시 됨: 2020-10-28목차
소개
의사 결정 트리는 지도 학습에 가장 일반적으로 사용되는 실용적인 접근 방식 중 하나입니다. 회귀 및 분류 작업을 모두 해결하는 데 사용할 수 있으며 후자는 실제 적용에 더 많이 적용됩니다. 이 트리에서 클래스 레이블은 잎으로 표시되고 가지는 해당 클래스 레이블로 이어지는 기능의 결합을 나타냅니다. 기계 학습 알고리즘에서 널리 사용됩니다. 일반적으로 머신 러닝 접근 방식에는 많은 하이퍼파라미터 및 최적화 제어가 포함됩니다.
회귀 트리는 예측 결과가 실수일 때 사용되며 분류 트리는 데이터가 속하는 클래스를 예측하는 데 사용됩니다. 이 두 용어를 집합적으로 분류 및 회귀 트리(CART)라고 합니다.
이들은 종속 변수가 범주형인지 수치형인지에 따라 회귀 또는 분류 트리를 제공하는 비모수적 의사결정 트리 학습 기술입니다. 이 알고리즘은 바이너리 분할을 시작하기 위해 지니 인덱스의 방법을 배포합니다. 지니 지수와 지니 불순도는 같은 의미로 사용됩니다.
의사 결정 트리는 기계 학습의 회귀 모델에 영향을 미쳤습니다. 트리를 설계하는 동안 개발자는 노드의 기능과 해당 기능의 가능한 속성을 가장자리로 설정합니다.
계산
지니 지수 또는 지니 불순물은 1에서 각 클래스의 확률 제곱의 합을 빼서 계산됩니다. 대부분 더 큰 파티션을 선호하며 구현이 매우 간단합니다. 간단히 말해서 잘못 분류된 무작위로 선택된 특정 기능의 확률을 계산합니다.
지니 지수는 0과 1 사이에서 변하며, 여기서 0은 분류의 순도를 나타내고 1은 다양한 클래스 간의 요소 무작위 분포를 나타냅니다. 0.5의 지니 지수는 일부 클래스에 걸쳐 요소가 균등하게 분포되어 있음을 보여줍니다.

수학적으로 지니 지수는 다음과 같이 표현됩니다.
지니 인덱스는 범주형 변수에 대해 작동하고 "성공" 또는 "실패" 측면에서 결과를 제공하므로 이진 분할만 수행합니다. 정보 이득(Information Gain)과 같이 계산 집약적이지 않습니다. Gini Index에서 Gini Gain이라는 다른 매개변수의 값이 계산되며, 이 값은 각 반복마다 의사결정 트리에서 최대화되어 완벽한 CART를 얻습니다.
간단한 예를 들어 지니 지수의 계산을 이해합시다. 여기에는 빨간색과 파란색의 두 변수가 있는 총 10개의 데이터 포인트가 있습니다. X 및 Y 축은 각 용어 사이에 100의 공백으로 번호가 매겨집니다. 주어진 예에서 지니 지수와 지니 게인을 계산할 것입니다.
의사 결정 트리의 경우 데이터 세트를 두 개의 분기로 분할해야 합니다. XY 평면에 5개의 빨간색과 5개의 파란색이 표시된 다음 데이터 포인트를 고려하십시오. X=200에서 이진 분할을 한다고 가정하면 아래와 같이 완벽한 분할이 됩니다.
분할이 올바르게 수행되었으며 각각 5개의 빨간색(왼쪽 분기)과 5개의 파란색(오른쪽 분기)이 있는 2개의 분기가 남습니다.
그러나 X=250에서 분할하면 결과는 어떻게 될까요?
우리는 두 개의 가지를 남겼습니다. 왼쪽 가지는 5개의 빨강과 1개의 파랑으로 구성되고 오른쪽 가지는 4개의 파랑으로 구성됩니다. 다음은 불완전 분할이라고 합니다. 의사결정나무 모델을 훈련할 때 분할의 불완전성을 수량화하기 위해 지니 지수를 사용할 수 있습니다.
확인: 이진 트리의 유형
기본 메커니즘
Gini Impurity 를 계산하려면 먼저 기본 메커니즘을 이해해야 합니다.
- 먼저 데이터 세트에서 임의의 데이터 포인트를 무작위로 선택합니다.
- 그런 다음 주어진 데이터 세트의 클래스 분포에 따라 무작위로 분류합니다. 데이터 세트에서 각 색상에 5개의 데이터 포인트가 있으므로 빨간색은 5/10, 파란색은 5/10의 확률로 선택한 데이터 포인트를 제공합니다.
이제 지니 지수를 계산하기 위해 공식은 다음과 같이 주어집니다.
여기서 C는 클래스의 총 수이고 p( i )는 클래스 i로 데이터 포인트를 선택할 확률입니다 .
위의 예에서 우리는 C=2이고 p(1) = p(2) = 0.5이므로 지니 지수는 다음과 같이 계산할 수 있습니다.
G = p(1) * (1−p(1)) + p(2) * (1−p(2))
=0.5 * (1−0.5) + 0.5 * (1−0.5)
=0.5

여기서 0.5는 데이터 포인트를 불완전하게 분류할 총 확률이므로 정확히 50%입니다.
이제 앞에서 수행한 완전 분할과 불완전 분할에 대한 지니 불순물을 계산해 보겠습니다.
완벽한 분할
왼쪽 가지에는 빨간색만 있으므로 Gini 불순물은 다음과 같습니다.
G(왼쪽) =1 * (1−1) + 0 * (1−0) = 0
오른쪽 가지에도 블루스만 있으므로 Gini 불순물도 다음과 같이 지정됩니다.
G(오른쪽) =1 * (1−1) + 0 * (1−0) = 0
빠른 계산에서 우리는 완벽한 분할의 왼쪽과 오른쪽 가지가 모두 0의 확률을 가지므로 실제로 완벽하다는 것을 알 수 있습니다. Gini 불순물 0은 모든 데이터 세트에 대해 가능한 가장 낮고 가장 좋은 불순물입니다.
불완전 분할
이 경우 왼쪽 가지에는 5개의 빨간색과 1개의 파란색이 있습니다. Gini 불순물은 다음과 같이 나타낼 수 있습니다.
G(왼쪽) =1/6 * (1−1/6) + 5/6 * (1−5/6) = 0.278
오른쪽 가지에는 모든 파란색이 있으므로 위에서 계산한 Gini 불순도는 다음과 같습니다.
G(오른쪽) =1 * (1−1) + 0 * (1−0) = 0
이제 불완전 분할의 Gini 불순물이 있으므로 분할의 품질이나 정도를 평가하기 위해 각 분기의 불순물에 요소 수와 함께 특정 가중치를 부여합니다.
(0.6 * 0.278) + (0.4 * 0) = 0.167
이제 지니 지수를 계산했으므로 다른 매개변수인 지니 게인의 값을 계산하고 의사 결정 트리에서 적용을 분석합니다. 이 분할로 제거된 불순물의 양은 전체 데이터 세트(0.5)에 대한 지니 지수에서 위 값을 빼서 계산됩니다.
0.5 – 0.167 = 0.333
이 계산된 값을 " 지니 게인 " 이라고 합니다 . 간단히 말해서 더 높은 지니 게인 = 더 나은 분할 .
따라서 Decision Tree 알고리즘에서는 각 반복마다 위와 같은 방식으로 계산되는 지니 게인을 최대화하여 최상의 분할을 얻습니다.
데이터 세트의 각 속성에 대한 지니 게인을 계산한 후 sklearn.tree.DecisionTreeClassifier 클래스는 루트 노드로 가장 큰 지니 게인을 선택합니다. Gini가 0인 분기를 만나면 리프 노드가 되고 Gini가 0보다 큰 다른 분기는 추가 분할이 필요합니다. 이러한 노드는 모두 분류될 때까지 재귀적으로 성장합니다.
기계 학습에서 사용
기계 학습의 세계에는 다양한 목적을 위해 설계된 다양한 알고리즘이 있습니다. 문제는 주어진 데이터 세트에 가장 적합한 알고리즘을 식별하는 데 있습니다. 의사 결정 트리 알고리즘도 설득력 있는 결과를 보여주는 것 같습니다. 그것을 인식하려면 의사결정나무가 인간의 주관적인 힘을 어느 정도 모방한다고 생각해야 합니다.

따라서 보다 인간적인 인지적 질문이 있는 문제는 의사결정나무에 더 적합할 수 있습니다. 결정 트리의 기본 개념은 트리와 같은 구조로 쉽게 이해할 수 있습니다.
더 읽어보기: AI의 의사결정나무: 소개, 유형 및 생성
결론
지니 인덱스의 대안은 클래스에 대한 최대 정보를 제공하는 속성을 결정하는 데 사용되는 정보 엔트로피입니다. 그것은 불순 또는 불확실성의 정도인 엔트로피의 개념을 기반으로 합니다. 루트 노드에서 의사 결정 트리의 리프 노드로 엔트로피 수준을 줄이는 것을 목표로 합니다.
이러한 방식으로 Gini 인덱스는 CART 알고리즘에서 결정 트리를 최적화하고 분류 트리에 대한 결정 지점을 만드는 데 사용됩니다.
기계 학습에 대해 자세히 알아보려면 IIIT-B 및 upGrad의 기계 학습 및 AI PG 디플로마를 확인하세요. 이 PG 디플로마는 일하는 전문가를 위해 설계되었으며 450시간 이상의 엄격한 교육, 30개 이상의 사례 연구 및 과제, IIIT- B 동문 자격, 5개 이상의 실용적인 실습 캡스톤 프로젝트 및 최고의 기업과의 취업 지원.
의사결정나무란?
의사 결정 트리는 문제를 해결하거나 결정을 내리는 데 필요한 단계를 도표화하는 방법입니다. 그들은 우리가 다양한 각도에서 결정을 볼 수 있도록 도와주므로 가장 효율적인 결정을 찾을 수 있습니다. 다이어그램은 끝을 염두에 두고 시작할 수도 있고 현재 상황을 염두에 두고 시작할 수도 있지만 일부 최종 결과 또는 결론, 즉 예상되는 결과로 이어집니다. 그 결과는 종종 해결해야 할 목표 또는 문제입니다.
의사 결정 트리에서 지니 인덱스를 사용하는 이유는 무엇입니까?
지니계수는 국가의 불평등을 나타내는 지표입니다. 지수의 값이 클수록 불평등이 커집니다. 지수는 사람들의 소유 차이를 결정하는 데 사용됩니다. 지니계수는 불평등의 척도이다. 완전 평등 사회에서 지니 계수는 0.0입니다. 개인이 한 명뿐이고 모든 부를 소유한 사회에서는 1.0이 됩니다. 부가 고르게 분포된 사회에서 지니계수는 0.50이다. 지니 계수의 값은 의사 결정 트리에서 인구를 두 개의 동일한 반으로 나누는 데 사용됩니다. 모집단이 정확히 분할되는 지니 계수의 값은 항상 0.50 이상입니다.
Gini 불순물은 의사 결정 트리에서 어떻게 작동합니까?
의사 결정 트리에서 Gini 불순물은 데이터를 다른 분기로 분할하는 데 사용됩니다. 결정 트리는 분류 및 회귀에 사용됩니다. 의사 결정 트리에서 불순물은 각 단계에서 최상의 속성을 선택하는 데 사용됩니다. 속성의 불순도는 속성이 갖는 포인트 수와 속성이 갖지 않는 포인트 수 간의 차이의 크기입니다. 속성에 있는 포인트의 수가 갖지 않는 포인트의 수와 같으면 속성 불순도는 0입니다.