[하운의 R공부] 12일차 - 50% 아낌없이 주는 의사결정나무

hawoon(53)
Published in
#kr
Words
340
Reading
2 min
Listen
Play
9y


추석을 핑계로 조금 쉬었더니 일주일만에 [이토록 쉬운 통계&R]을 펴보게 되었네요 ㅠㅠ

아직 갈길이 먼데 역시 공부에는 게으름이 적인것 같습니다


앞서 관심변수와 설명변수간의 관계에 대해 알아보았습니다.

이론상, 하나의 관심변수에 대해 무수히 많은 설명변수가 생길수 있는데요, 그렇게 된다면 변수들을 어떻게 활용할지 막막하겠죠?

그렇기 때문에 통계학자들은 여러 데이터 분석도구를 만들어냈습니다. 대부분은 복잡한 수식과 알고리즘이지만 그래도 간단한 예시를 알아보겠습니다.


모자이크 그림

한눈에 전체 데이터를 차악하기 힘들기 때문에, 데이터를 작은 부분을 쪼개어 각 부분을 분석하는걸 분할 정복(Divide and Conquer)이라고 합니다. 분할 정복의 예를 사펴보기위해, 타이타닉호 사태의 생존자 자료를 살펴보겠습니다.

타이타닉 호에는 2201명의 승객이 있었습니다. 그중 생존자는 711명, 사망자는 1490명 입니다. 이중에는 남자도 있고 여자도 잇고 아이도 있으며 타이타닉호의 선원도 속해 있습니다. 각각의 자료를 성별,나이, 좌석등급이라는 변수로 정리해보겠습니다.

KakaoTalk_20180220_230932668.jpg

표를보면 각 연령, 성별, 좌석등급에 따른 생존자와 사망자 수를 살펴볼수 있습니다. 그러나 이렇게 숫자로 정리된 데이터는 한눈에 살펴보기 어렵습니다.

그렇다면 그림으로 나타내보는건 어떨까요? 각 변수를 비율에 따라 사각형으로 그리고, 변수로 사각형을 나누는 것입니다. 이런 식으로 말이죠

KakaoTalk_20180220_230931320.jpg

여기에 나머지 변수도 추가하고, 제일 중요한 생존과 사망을 색깔로 구별한다면

KakaoTalk_20180220_230929451.jpg

이러한 형태의 그림이 나옵니다. 아까보다 보기는 편해졌지만, 뭔가 효율적이지 않아 보입니다. 이곳에는 모든 변수에 따른 데이터가 표기되어 있는데요, 과연 여기서 "1등석 남자아이와 여자아이의 생존률"같은 데이터까지 모두 필요한걸까요? 아니요. 4개의 변수로 이루어진 16개 데이터가 모두 중요하지는 않습니다.

그렇다면 중요한 변수만 따로 표기해서 살펴볼수는 없을까요? 이때 필요한것이 의사결정나무입니다.


의사결정나무 모형(Decision tree)

나무는 가지를 뻗습니다. 일자형대의 몸통에서, 가지를 뻗으면 Y자 형태가 되죠. 그리고 그 가지에서 또다른 Y자 형태의 가지가 생깁니다. 이러한 나무의 모양과 닮은 통계모형이 의사결정나무 모형입니다.

KakaoTalk_20180220_230928338.jpg

의사결정 나무 모형은 전체 관측치를 둘로 나눌 최적의조건을 찾습니다. 그렇다면 어떤 변수가 가장 중요할까요? 일반적으로, 조건으로 나뉘어진 두 그룹의 차이가 클수록 효과적인 변수입니다.

앞선 타이타닉의 사례에선 세변수중(관심변수 사망률 제외) 남녀간 성별이 가장 큰 차이를 만들어 냅니다. (남자 21% 여자 73%)

KakaoTalk_20180220_230925885.jpg

자, 여기서 두번째, 세번째로 큰 차이를 만들어 내는 변수를 추가하면

KakaoTalk_20180220_230927372.jpg

이런식으로 가지가 뻗어집니다. 의사결정나무는 본인이 영향력있는 데이터가 나왔다고 생각하는 순간까지 가지를 뻗으면 됩니다.

의사결정 나무를 이용하면, 앞선 데이터로 표현된 그림보다(16개) 훨씬 적은 그룹(5개)으로 차이를 표현할 수 있습니다. 또한 이는 조건부 확률을 구할때 매우 유용합니다.

의사결정 나무는 복잡한 알고리즘을 통해, 어떻게 데이터가 보기좋게 가공될수 있는지를 보여주는 좋은 도구입니다. 이 다음시간에도 통계학자들이 만든 또다른 산물을 공부해보겠습니다.