두 집단을 구분하는 특성 찾기 관련 시리즈
Intro: 의사결정나무 알고리즘
하루키의 노르웨이의 숲에는 “세상에 당신을 이해하려고 애쓰는 일을 즐기는 사람이 한명쯤 있어도 나쁘지 않지 않나요?”라는 문장이 있습니다.
“So what’s wrong if there happens to be one guy in the world who enjoys trying to understand you?”
의사결정나무(decision tree)도 데이터에 담긴 규칙과 질서를 당신에게 이해시키려고 애쓰는 몇 안되는 알고리즘(white box model) 중 하나입니다.
이번 글에서는 데이터 공부한 사람이라면 한 번쯤은 들어 보았을 “titanic dataset” 으로 의사결정나무가 작동하는 방식과 모형(분석결과)을 해석하는 법을 살펴 보겠습니다.
의사결정나무: 서로 다른 (두) 집단을 분류하는 규칙을 만드는 방법
장르적으로 의사결정나무는 서로 다른 집단을 분류하는 모형을 만드는 Classification 알고리즘입니다.
아래 그림처럼 이차원의 평면에 분포된 늑대와 소를 분류하는 방법은,
•
하나의 직선(맨 왼쪽 그림): 단순하지만 소와 늑대가 잘 구분이 안됨
•
구불구불한 곡선(맨 우측): 아주 잘 분류되지만, 분류된 규칙이 복잡하여 사람에게 일상의 언어로 설명하기 힘듬
•
직선으로 공간을 구획(가운데): 분류도 제법 잘 되고 분류된 모형(규칙)을 이해하기 쉬움(white box model)
의사결정나무는 아래 가운데 그림처럼 늑대는 늑대끼리, 송아지는 송아지끼리 모이도록 공간을 직선을 사용하여 구획하는 방식으로 작동합니다.
의사결정나무: 끼리끼리 모이도록 공간을 구획하는 방법
아래는 신입사원들을 성과점수 기준으로 상하위 20%로 구분하여, 두 집단을 구분하는 규칙을 만드는 예시입니다. 예를 들어, 인적성 검사에서 측정한 인내력점수(Y축)와 대학시절 동아리활동을 한 기간(X축) 두 변수를 사용해서 두 집단을 구분한다고 가정해봅시다.
별은 별끼리 세모는 세모끼리, 동질적 객체(class)들이 순도 높게 분포하는 공간을 아래 그림처럼 구획하면, 제법 쓸만한 분류규칙을 만들 수 있겠습니다.
다만, 실제 데이터는 분류 규칙을 만드는데 사용해야 하는 변수가 많은데, 이들 중 가능한 적은 변수들을 사용해서 최적의 분류규칙을 만드는 작업을 의사결정나무 알고리즘이 대신 해줄 수 있습니다.
또한, 의사결정트리 모형을 통해 설명 변수 간 상호작용을 이해할 수 있다는 장점이 있어요.
(예를 들면, 동아리 경험이 0.8년 이상이고 동시에 인내력이 74점 이상인 경우 대부분 일을 곧잘 하더라…)
실습
Dataset
우선 타이타닉 데이터셋은 아래처럼 구성되어 있습니다.
주요 변수를 살펴보면,
•
survival: 생존/사망 여부를 표시하는 변수
•
pclass: 몇등석을 탔는지 표시하는 변수
•
sex, age: 성별, 나이
타이타닉 데이터셋: https://www.kaggle.com/c/titanic
Analysis in Heartcount
레시피
목표변수를 “Survived”로 선택한 후 [분석] 버튼을 누르면 생존자(1)와 사망자(0)를 구분하는 모형을 생성해 줍니다.
분석 결과 해석
분석결과를 트리형태로 살펴보겠습니다. (녹색: 생존자, 파란색: 사망자)
•
여자(female) 경우, 생존률(survived=1인 비율)이 74.2%였고
•
여자이며 동시에 1,2등석에 탑승한 경우(pclass < 2.5)의 생존률이 94.7% (캠페인 생성 시 pclass를 숫자로 지정한 결과이고, 캠페인 생성 시 pclass를 범주로 선택하면 다른 결과가 나올 수 있음)
•
반면, 남자(male)인 경우는 6세 이하인 경우 생존률이 66.6%로 높았다는 것을 알 수 있네요.
아래는, 생존자(1) 분류규칙 테이블과 특정 규칙(여자이고 1/2등석 탑승)을 다른 방식(sunburst)으로 시각화한 화면입니다.
성별이 여자(female)이며 동시에 1,2등석(Pclass < 2.5)에 탑승한 경우
•
크기 170 레코드: 해당 조건에 부합하는 레코드의 갯수가 총 170개
•
순도 94.71%: 해당 조건에 부합하는 170명 중 94.71%가 생존자(1)로 분류됨 (분류 정확도)
•
타겟비율 47.08%: 전체 생존자(1) 342명 중 해당 규칙으로 47.08%를 분류할 수 있다는 의미(재현율)