Data for Breakfast 서울 - 3월 19일 (목)

데이터와 에이전틱 인텔리전스로 비즈니스 가치를 실현하세요!

머신러닝의 의사결정 트리: 데이터 실무자를 위한 심층 가이드

의사결정 트리의 개념과 작동 방식을 살펴보고 머신러닝 및 기획을 위한 의사결정 트리 유형, 분석, 예시 및 모범 사례를 알아보세요.

  • 개요
  • 의사결정 트리란?
  • 의사결정 트리의 작동 방식
  • 의사결정 트리의 핵심 요소
  • 의사결정 트리 유형
  • 의사결정 트리의 분할 기준
  • 의사결정 트리의 활용 분야
  • 의사결정 트리의 장점
  • 의사결정 트리의 한계
  • 의사결정 트리 모범 사례
  • 결론
  • 의사결정 트리 관련 자주 묻는 질문
  • Snowflake를 사용하는 고객
  • Snowflake 리소스

개요

인간이 결정을 내리기 전에 여러 선택지를 고려하는 것처럼, 머신러닝 모델도 예측이나 추천을 생성하기 위해 다양한 방법을 사용합니다. 의사결정 트리는 문제를 간단한 단계로 나누어 결과를 쉽게 이해할 수 있도록 하기 때문에 ML에서 널리 사용되는 옵션입니다.

의사결정 트리는 정답이 이미 알려진 학습 데이터를 기반으로 모델이 학습하는 지도 학습 환경에서 널리 활용되며, 일반적으로 스팸 이메일 식별과 같은 분류 작업과 건물의 에너지 사용량 예측과 같은 회귀 작업을 처리합니다. 의사결정 트리의 차별화된 강점은 추론 과정을 직접 확인하고 해석할 수 있다는 점입니다. 데이터 기반 질문에 따라 서로 다른 방향으로 뻗어 나가는 ‘분기’를 관찰하면, 모델이 어떤 추론 과정을 거쳐 특정 결과에 도달했는지 명확하게 이해할 수 있습니다.

의사결정 트리란?

의사결정 트리는 순서도처럼 작동합니다. 각 분할은 서로 다른 결과에 이르는 의사결정의 분기점을 나타내며, 이를 통해 사람과 컴퓨터 모두가 옵션을 비교하고 가능성을 검토하며 결과를 이해하기가 수월해집니다.

의사결정 트리의 작동 방식

의사결정 트리는 문제를 일련의 질문으로 분할합니다. 각 질문은 불확실성을 점진적으로 해소해 가며 명확한 결론에 도달하도록 이끕니다.

이 프로세스는 루트 노드에서 데이터에 기반한 질문으로 시작됩니다. 이 단계에서 알고리즘은 데이터를 분할하는 데 가장 적합한 변수를 식별하는 특성 선택을 수행합니다. 각 답변은 다음 질문으로 이어지며, 이는 해당 단계에서 데이터를 가장 효과적으로 분리하는 특성을 기반으로 합니다. 트리는 최종 예측이나 결정이 이루어지는 리프 노드에 도달할 때까지 이 과정을 계속합니다.

의사결정 트리의 핵심 요소

의사결정 트리는 일반적으로 네 가지 구성 요소를 포함합니다.

 

루트 노드

물리적 나무와 마찬가지로 루트 노드에서 모든 것이 시작됩니다. 추론 과정의 첫 단계로, 분기가 이루어지기 전에 질문과 관련된 전체 데이터 세트가 모이는 지점입니다. 

 

분기

분기는 데이터 값에 따라 데이터 세트를 분할합니다. 예를 들어, 30세 이상 고객은 30세 미만 고객과 다른 경로를 따를 수 있습니다. 의사결정 트리는 각 그룹을 서로 다른 결과로 안내합니다.

 

내부 노드

내부 노드는 모델이 경로를 결정하기 위해 데이터에 대해 질문을 던지는 의사결정 지점입니다. 예를 들어, 리테일 서비스 모델은 과거 구매 데이터를 분석하고 “고객 A는 빨간 셔츠를 더 자주 구매하는가, 아니면 파란 셔츠를 더 자주 구매하는가?”라는 질문을 할 수 있습니다.

 

리프 노드

리프 노드는 의사결정 트리의 종착점으로, 추론 과정이 끝나고 모델이 결과를 제공합니다. 앞선 리테일 예시를 이어가면, 고객의 구매 이력이 빨간 셔츠에 대한 선호를 나타낼 경우 ML 모델의 의사결정 트리는 새로운 빨간 셔츠 가운데 여러 옵션을 추천하도록 하는 리프 노드로 이어질 수 있습니다.

실제 환경에서 의사결정 트리는 여러 경로를 동시에 탐색합니다. 트리의 논리는 다양한 방향으로 분기하며 최적의 답을 찾습니다.

의사결정 트리 유형

일반적으로 활용되는 다양한 의사결정 트리 알고리즘이 있으며, 대부분 분류와 회귀 작업에 적용할 수 있습니다. 대표적인 알고리즘은 다음과 같습니다. 

 

CART(분류 및 회귀 트리)

널리 사용되는 알고리즘인 CART는 각 특성에 대해 항상 이진 분할(예/아니오)을 생성한다는 점에서 다른 의사결정 트리 기법과 구별됩니다. 또한 데이터 내 값을 가장 효과적으로 분리하는 분할에 중점을 둡니다. 예를 들어 대출 승인 여부를 예측하는 CART 모델은 먼저 “소득이 50,000달러(USD) 초과인가?”(예/아니오)라는 기준으로 신청자를 분할할 수 있습니다. 이후 각 그룹을 신청자의 신용 점수가 750점을 초과하는지 여부나 신청자가 재직 중인지와 같은 다른 요소를 기준으로 분할을 이어갑니다.

 

ID3(Iterative Dichotomiser 3)

초기부터 널리 사용된 의사결정 트리 알고리즘 중 하나인 ID3는 가능한 응답을 점차 줄여 나가는 질문을 선택해 데이터를 더 작은 그룹으로 분할하며, 최종적으로 원하는 예측이나 추천에 도달합니다. 예를 들어 스팸 필터는 상업 광고에 자주 사용되는 ‘제안’이라는 단어가 포함된 이메일을 선별할 수 있습니다.

 

C4.5

C4.5는 일련의 예 또는 아니오 질문을 통해 데이터를 더 작은 그룹으로 분할하며 의사결정 트리를 구축합니다. 이를 통해 보다 정밀한 예측에 도달할 수 있습니다. ID3를 개선한 알고리즘으로, ‘spam’ 또는 ‘not spam’과 같은 범주형 값과 ‘age’ 또는 ‘income’과 같은 수치형 값을 모두 처리할 수 있으며, 결측치 같은 문제도 보완합니다. 예를 들어 통신사는 C4.5를 사용해 연령, 위치, 데이터 사용량과 같은 요소를 종합적으로 고려하여 고객에게 적합한 요금제 옵션을 구성할 수 있으며, 잠재 고객에 대한 정보가 일부 불완전한 경우에도 이를 수행할 수 있습니다. 

 

CHAID(Chi-Square Automatic Interaction Detection)

CHAID는 통계적 검정을 사용해 분할 지점을 결정하며, 한 번에 여러 선택지를 가진 분기를 생성하는 경우가 많습니다. 예를 들어, 리테일 기업은 이를 활용해 고객을 청소년, 청년층, 중장년층, 고령층과 같은 연령대 구간으로 분류하고, 새로운 로열티 프로그램에 가장 반응할 가능성이 높은 인구통계학적 집단을 예측할 수 있습니다.

 

조건부 추론 트리

조건부 추론 트리는 변수가 분할을 정당화할 만큼 충분히 관련성이 있는지 통계적으로 검정함으로써 편향성을 줄입니다. 이러한 방식은 통계적 유의성 검정 없이 데이터를 순차적으로 분할하는 ID3 및 CART 등의 기존 의사결정 트리와 구별되는 특징입니다. 예를 들어, 일반적인 트리는 ‘출신 대학’을 중요 변수로 사용할 수 있지만, 조건부 추론 트리는 해당 변수가 직무 성과 예측에 통계적으로 유의하지 않다고 판단해 제외할 수 있습니다.

의사결정 트리의 분할 기준

데이터를 분할할 때 ML 모델은 일반적으로 두 가지 주요 기준 즉, 지니 불순도 또는 엔트로피 중에서 하나를 사용합니다. 두 기준 모두 데이터의 혼합 정도를 측정하며, 알고리즘은 선택한 방법을 적용해 데이터를 가장 효과적으로 구분하는 분할을 찾습니다.

 

지니 불순도

지니는 특정 질문이 데이터를 얼마나 명확한 그룹으로 나누는지를 평가합니다. 수학적으로 이는 해당 그룹의 분포에 따라 임의의 항목에 레이블을 부여할 경우 오분류될 확률을 의미합니다. CART 알고리즘은 이 지표를 적용해 다양한 분할 방식을 평가하고, 가장 명확한 분리를 만들어 내는 분할을 선택합니다. 예를 들어 피곤한지 여부를 묻는 질문은 커피를 마실 가능성이 높은 그룹과 그렇지 않은 그룹으로 나눌 수 있습니다.

 

엔트로피

엔트로피는 데이터 세트의 불확실성을 측정합니다. ID3와 C4.5 같은 알고리즘은 엔트로피를 기반으로 정보 이득을 산출하며, 이를 통해 분기가 얼마나 불확실성을 줄였는지 평가합니다. 트리는 불확실성을 가장 크게 줄이는 분할을 선택해 클래스 간 구분을 가장 명확하게 만듭니다. 커피 비유에서 오전인지 오후인지 묻는 질문은 사람들을 보다 명확한 그룹으로 구분해 의사결정을 안내하므로 불확실성을 줄이는 예입니다.

의사결정 트리의 활용 분야

머신러닝에서 의사결정 트리는 가공 전 데이터를 유용한 인사이트로 전환하는 데 기여합니다. 이는 의사결정이 충분한 근거와 신뢰성을 갖춰야 하는 산업 분야에서 특히 유용합니다.

대표적인 활용 사례는 다음과 같습니다. 

 

비즈니스 전략 및 기획

의사결정 트리로 학습된 ML 모델은 매출 성장, 가격 추세, 고객 이탈, 공급망 수요 및 재고 수준과 같은 요소를 예측하는 데 활용됩니다. 

 

위험 평가 및 완화

금융 및 보험 분야에서 의사결정 트리는 채무 불이행, 보험금 청구 또는 기타 손실과 같은 위험을 평가하는 데 활용됩니다. 신용 이력, 소득 수준, 청구 패턴과 같은 고객 데이터의 분기 경로를 따라가며 보험계리사, 언더라이터 및 재무 분석가가 보다 정밀한 리스크 산정을 수행하도록 지원합니다.

 

고객 세분화 및 타기팅 

마케터는 구매 행동, 인구통계학적 정보 및 온라인 액티비티를 기반으로 고객을 그룹으로 분할하기 위해 의사결정 트리 모델을 활용할 수 있습니다. 이를 통해 기업은 보다 개인화된 오퍼를 제공하고 캠페인에 반응할 가능성이 높은 고객을 예측할 수 있습니다.

 

의료 진단 및 치료

헬스케어 ML 모델은 환자 데이터를 해석하기 위해 의사결정 트리를 자주 활용합니다. 예를 들어 모델은 증상을 평가하고 검사 결과를 고려하며 가족력을 검토해 진단과 치료를 안내하는 데 필요한 중요한 정보를 수집할 수 있습니다.

 

금융 사기 감지

은행 및 기타 위험 회피 성향의 금융 기관은 의사결정 트리 모델을 활용해 의심스러운 활동을 감지할 수 있습니다. 구매 금액 규모와 반품과 같은 패턴을 분석함으로써, 모델은 잠재적인 사기, 자금 세탁 또는 기타 범죄 활동을 나타내는 트랜잭션을 식별할 수 있습니다. 

의사결정 트리의 장점

의사결정 트리는 복잡하고 시간이 많이 소요되는 추론 과정을 단순화해 더 빠르고 효율적으로 결과를 제공합니다. 구체적인 장점은 다음과 같습니다. 

 

뛰어난 해석 용이성

의사결정 트리의 투명성은 ML의 추론 과정을 보다 명확하게 보여 줍니다. 누구나 모델이 결론과 추천에 도달하기까지의 단계별 논리를 시각적으로 따라갈 수 있습니다.

 

데이터 준비 부담 경감

의사결정 트리는 범주형 데이터와 수치형 데이터를 모두 처리할 수 있으므로, 분석가는 데이터를 변환하거나 재구성하는 데 많은 시간을 들일 필요가 없습니다. 모델 실행 전에 필요한 사전 준비 작업을 줄여 줍니다. 

 

높은 유연성

의사결정 트리는 각 트리가 독립적으로 예측을 수행하는 자체 완결형 모델이기 때문에 다양한 문제에 유연하게 적용할 수 있습니다. 또한 이러한 유연한 설계 덕분에 여러 트리를 결합하고 출력을 집계할 수 있어 대규모의 복잡한 작업도 처리할 수 있습니다.

 

결측치 처리

모델에 따라 완전한 데이터 세트가 필요한 경우도 있지만, 의사결정 트리는 정보가 일부 누락된 경우에도 작동할 수 있습니다. 불완전한 레코드에 낮은 가중치를 부여하거나 데이터를 여러 가능한 경로로 분산해 처리합니다.

 

소규모 데이터 세트에도 효과적

의사결정 트리는 방대한 데이터가 없어도 유의미한 패턴을 찾을 수 있습니다. 정보가 제한적일 때도 효과적으로 작동해, 데이터 확보가 어렵거나 시간이 많이 소요되는 분야에서 유용합니다.

의사결정 트리의 한계

의사결정 트리는 장점이 많지만 일부 단점도 존재합니다. 추론에 의사결정 트리를 활용하는 과정에서 사용자와 시스템이 직면하는 대표적인 문제는 다음과 같습니다.

 

과적합 위험

의사결정 트리는 지나치게 세부적으로 분기되면서 일반적인 패턴을 학습하기보다 훈련 데이터의 특이한 특성에 의존할 수 있습니다. 그 결과 학습 단계에서는 높은 정확도를 보이지만, 새로운 미관측 데이터에서는 성능이 저하될 수 있습니다.

 

‘노이즈’ 데이터에 민감

의사결정 트리는 실제 패턴을 반영하지 않는 무작위 또는 불필요한 변동에 영향을 받을 수 있습니다. 작은 수준의 노이즈라도 분기 기준을 왜곡해 잘못된 방향으로 트리를 확장시킬 수 있으며, 이로 인해 예측의 안정성을 저하시킬 수 있습니다.

 

편향된 분할의 발생 가능성

특정 특성이 데이터 세트에서 지배적인 경우, 의사결정 트리는 때때로 그 특성에 과도하게 의존해 동일하거나 더 중요한 다른 요인을 충분히 반영하지 못할 수 있습니다. 예를 들어 의료 모델이 식습관이나 생활 방식과 같은 요인보다 환자의 거주 환경에 더 큰 비중을 둘 경우, 부정확한 예측, 추천 및 진단으로 이어질 수 있습니다. 

 

앙상블 기법보다 낮은 정확도

단일 의사결정 트리는 독립적으로 판단을 내리기 때문에 오류나 과적합이 발생할 수 있습니다. 반면 앙상블 기법은 여러 트리의 결과를 결합합니다. 이러한 집합 기반의 접근 방식은 일반적으로 보다 정확하고 포괄적이며 일관된 결과를 제공합니다.

의사결정 트리 모범 사례

조직은 다음과 같은 실무 팁을 통해 ML 의사결정 트리의 효과를 극대화할 수 있습니다. 

 

강력한 특성 선택

사기 감지에서의 거래 금액 규모나 의료 진단에서의 검사 결과와 같이 데이터를 가장 잘 분리하는 요인을 우선적으로 고려합니다. 예측력이 높은 특성을 활용하면 의사결정 트리가 보다 분명한 결론에 도달하고 의미 없는 분할을 줄일 수 있습니다.

 

과적합 방지를 위한 프루닝

수목 관리사가 나무의 성장을 조절하고 불필요한 가지를 제거하듯, 의사결정 트리에서도 불필요한 분기를 제거하는 것이 중요합니다. 프루닝은 트리가 훈련 데이터에 과도하게 집착하는 것을 방지하고, 대신 의미 있는 결과로 이어질 수 있는 패턴을 찾도록 하는 핵심 요소입니다. 

 

새로운 데이터로 검증

트리의 성능을 유지하려면 학습에 사용되지 않은 새로운 데이터로 평가해야 하며 이는 과적합을 방지하는 데 도움이 됩니다.

 

분할 모니터링

많은 ML 라이브러리는 트리가 가장 많이 의존하는 특성의 순위를 지정하고 분할 과정을 시각화하는 도구를 제공합니다. 이러한 점검 절차를 통해 모델이 데이터를 처리하고 추론하며 결과를 도출하는 방식을 명확히 파악할 수 있습니다.

결론

의사결정 트리는 단순하고 명확하며 유연하기 때문에 머신러닝에서 널리 활용되며 대출 리스크 평가, 매출 예측 또는 마케팅을 위한 고객 그룹화와 같은 다양한 비즈니스 과제에 유용합니다. 신뢰할 수 있는 AI 및 ML 도구를 찾는 조직이 늘어남에 따라 의사결정 트리는 예측과 추천을 위한 효과적인 접근 방식으로 지속적으로 활용될 것입니다.

의사결정 트리 관련 자주 묻는 질문

네. ChatGPT나 Gemini와 같은 도구는 데이터 세트를 기반으로 텍스트 형태의 의사결정 트리, 다이어그램 또는 트리 학습 및 시각화를 위한 Python 코드를 생성할 수 있습니다.

의사결정 트리는 ML 및 AI 추론에서 다양한 역할을 수행합니다. ML에서는 데이터를 활용해 대출 리스크나 매출 예측 등의 결과를 예측합니다. AI에서는 선택지를 구조화하고 행동을 안내하는 추론 도구로 작동합니다. 핵심적인 차이는 ML 트리는 데이터로부터 학습하는 반면 AI 트리는 시스템의 의사결정을 지원한다는 점입니다.

의사결정 트리는 특정 결과에 도달할 때까지 데이터와 관련된 일련의 질문을 던지는 단일 모델입니다. 반면 랜덤 포레스트는 데이터 및 특성의 하위 집합을 기반으로 여러 의사결정 트리를 구축한 뒤 그 결과를 결합해 최종 예측을 도출합니다.