본문 바로가기
데이터사이언티스트 Data Scientist

[지도학습] 분류(Classificaion) - (1) 의사결정나무(Decision Tree) 모델

by 루시달 2024. 11. 8.

결정트리 (Decision Tree)

 결정 트리(Decision Tree)는 ML 알고리즘 중 직관적으로 이해하기 쉬운 알고리즘 입니다.

데이터에 있는 규칙 학습을 통해 자동으로 찾아내 트리(Tree) 기반의 분류 규칙을 만드는 것 입니다. 일반적으로 규칙을 가장 쉽게 표현하는 방법은 if/else 기반으로 나타나는 것인데 쉽게 생각하면 스무고개 게임과 유사하며 룰 기반으로 if/else를 자동으로 찾아내 예측을 위한 규칙을 만드는 알고리즘으로 이해하면 더 쉽게 다가 올 것 입니다. 따라서 데이터를 어떤 기준을 바탕으로 규칙을 만들어야 가장 효율적인 분류가 될 것인가가 알고리즘의 성능을 크게 좌우합니다.

 

 

 결정 트리 구조 

 규칙 노드(Decision Node)는 규칙 조건이 되는 것이고, 리프 노드(Leaf Node)로 표시된 노드는 결정된 클래스 값입니다. 그리고 새로운 규칙 조건마다 서브트리(Sub Tree)가 생성됩니다. 데이터 세트에 피처가 있고 이러한 피처가 결합해 규칙 조건을 만들 때마다 규칙 노드가 만들어집니다. 하지만 많은 규칙이 있다는 것은 곧 분류를 결정하는 방식이 더욱 복잡해진다는 말이고, 이는 곧 과적합으로 이어지기 쉽습니다. 즉, 트리의 깊이(Depth)가 깊어질수도록 결정 트리의 예측 성능이 저하될 가능성이 높습니다.

 

 가능한 적은 결정 노드로 높은 예측 정확도를 가지려면 데이터를 분류할 때 최대한 많은 데이터 세트가 해당 분류에 속할 수 있도록 결정 노드의 규칙이 정해져야 합니다. 이를 위해서는 어떻게 결정트리를 분할(Split)할 것인가가 중요한데 최대한 균일한 데이터 세트를 구성할 수 있도록 분할하는 것이 필요합니다.

더보기
  • 루트 노드(Root Node):
    • 데이터의 전체 집합을 포함하며, 첫 번째 의사결정 기준이 되는 노드.
  • 내부 노드(Internal Nodes):
    • 각 노드는 특정 특성(feature)을 기준으로 데이터를 분할.
  • 리프 노드(Leaf Nodes):
    • 최종 출력 결과를 나타내는 노드로, 클래스 레이블(분류 문제) 또는 값(회귀 문제)을 반환.

 

균일한 데이터란? - *불순도(Impurity)를 최소화하는 방향

 

 다음 그림에서 가장 균일한 데이터는 무엇일까요? 

C가 가장 균일도가 높고 그 다음이 B, 마지막으로 A 순입니다. C경우, 모두 검은 공으로 구성되므로 데이터가 모두 균일합니다. B 경우 일부 하얀 공을 가지고 있지만, 대부분 검은 공으로 구성되어 다음으로 균일도가 높습니다. 하지만 A 경우는 검은공 못지 않게 하얀 공을 가지고 있어 균일도가 가장 낮습니다. 이렇게 데이터의 균일도는 데이터를 구분하는데 있어 필요한 정보의 양에 영향을 미칩니다. 

 가령, C세트에서 운을 가리고 하나의 데이터를 뽑았을 때 데이터에 대한 별다른 정보 없이도 '검은 공'이라고 쉽게 예측할 수 있습니다.

 

  결정 노드는 정보 균일도가 높은 데이터 세트를 먼저 선택할 수 있도록 규칙 조건을 만듭니다. 이러한 정보의 균일도를 측정하는 대표적인 방법은 엔트로피를 이용한 정보이득 지수와 지니 계수가 있습니다. 

 

 결정 트리 알고리즘은 사이킷런에서 구현한 DecisionTreeClassifier는 기본으로 지니 계수를 이용해 데이터 세트를 분할입니다. 결정 트리의 일반적인 알고리즘은 데이터 세트를 분할하는데 가장 좋은 조건, 즉 정보 이득이 높거나 지니계수가 낮은 조건을 찾아서 자식 트리 노드에 걸쳐 반복적으로 분할한 뒤, 데이터가 모두 특정한 분류에 속하게 되면 분할을 멈추고 분류를 결정 합니다.

 

요약

  • 지도학습(분류)에서 가장 유용하게 사용되고 있는 기법 중 하나입니다.
  • 트리의 루트(root)에서 시작해서 정보이득이 최대가 되는 특성으로 데이터를 나눕니다.
  • 정보이득(information gain)이 최대가 되는 특성을 나누는 기준(불순도를 측정하는 기준)은 '지니'와 '엔트로피'가 사용됩니다.
    • 데이터가 한 종류만 있다면 엔트로피/지니 불순도는 0에 가깝고, 서로 다른 데이터의 비율이 비슷하면 1에 가깝습니다.
    • 정보이득(information gain)이 최대라는 것은 불순도를 최소화 하는 방향입니다. (1-불순도)

의사결정나무의 단점

  • 과적합(Overfitting):
    • 모델이 너무 깊어지면 학습 데이터에 과적합될 가능성이 큼.
    • 이를 방지하기 위해 가지치기(Pruning), 최대 깊이 제한(Max Depth) 등을 사용.
  • 불안정성:
    • 데이터의 작은 변화에도 모델이 크게 변할 수 있음.
  • 성능 한계:
    • 단일 의사결정나무는 다른 복잡한 모델(예: 랜덤 포레스트, XGBoost)에 비해 성능이 낮을 수 있음.

성능 개선 방법

  • 앙상블 기법:
    • 여러 개의 의사결정나무를 사용하는 랜덤 포레스트(Random Forest)부스팅(Boosting) 기법을 통해 성능 향상 가능.읫
반응형