본문 바로가기
데이터 사이언스

Tree-based 머신러닝의 기초개념, 해석 방법 및 주의점

by 빛나는존재 2022. 4. 9.
반응형

Tree-based 란 무엇인가

Tree based 방법은 response variable의 공간을 어떤  predictor variable의 condition 등을 이용해서 여러 영역으로 계층화, 분할 하는 방법이다. Response variable 이 continuous 한 숫자 인 경우에는 regression을, 반대로, response variable 이 categorical 한 경우 (예를 들어 true, false) 에는 classification 방법을 사용한다. Response variable 의 공간을 분할 하는 과정이 마치 나무가 가지를 뻗어나가는 것 과 같아 decision-tree라고 함. 실제 사람이 의사결정을 내리는 과정과 닮아있어 해석하기가 매우 용이하며 시각화 하기가 쉽다는 장점이 있다. 하지만 decision tree 하나만으로는 예측 및 분류 정확도가 다른 모델에 비해 좋지 않다. 그래서 이를 보완하고자 여러개의 decision tree들을 모아 예측 및 분류에 사용하는 bagging, random forest, boosting 방법들이 등장했다. 물론 이 경우 모델의 성능은 우수하지만 해석이 용이하지 않다. 그래도 Variance importance plot을 통해 무슨 변수가 중요한 변수인지 수치상으로 파악할 수 있다.

Tree 의 기본적인 해석 방법

위 그림은 기존의 Introduction to Statistical Learning 교재에 나와 있는 그림을 이해하기 쉽도록 내가 직접 변형 하여 decision tree 와 response variable 의 공간이 match 되도록 한 것이다. 위 그림의 왼쪽에 보이는 tree가 Decision tree의 굉장히 단순한 형태로, 2개의 internal node, 3 terminal node 인 구조를 가지고 있다. 이 tree가 야구선수의 연봉에 log 취한 값을 예측하는데 사용되는 regression tree인데, 이를 예측하는데 쓰인 feature로는 경력(year), 그리고 지난시즌 안타수 (hits)가 사용되었다. tree의 가장 위에 나와 있는조건이 가지를 치는데 있어서 가장 중요하며 (여기서는 Year 가 4.5 보다 낮은지 높은지 여부), 그 밑에 있는 조건이 그 다음으로 중요한 조건 (여기서는 Hits가 117.5 보다 낮은지 높은지 여부)이다. 이 그림을 읽는 가장 기초적인 방법으로 기억해 두면 좋을 것은 특정 조건의 왼쪽 가지는 yes, 오른쪽은 no를 의미한다는 것이다. years < 4.5 라는 조건에서 왼쪽으로 가면 그러한 조건이, 오른쪽으로 가면 그와 반대되는 조건인 years >= 4.5 인 조건이다. 그 조건의 밑에 hits < 117.5 라는 조건이 나오고 이것도 마찬가지로 왼쪽으로 가면 그 조건 그대로 인 것이며 오른 쪽으로 가면 hits >= 117.5 란 뜻이다.

R1은 Years < 4.5 인 조건 1개만 적용 된 영역이며, 이 영역 에서의 response variable 들의 평균은 5.11 이다.

R2는 Years >= 4.5 & Hits<117.5 , 즉 조건 2개가 적용 된 영역에서의 response variable 들의 평균 값이 6 이다.

R3는 Years >= 4.5 & Hits>=115.5 인 조건 2개가 적용된 영역이며  이 영역에서의 response variable 들의 평균 값은 6.74이다.

 

도메인 지식의 중요성

위의 예시를 보면 경력을 나타내는 year 가 분류 가장 중요한 변수이기 때문에 가장 맨 위에 위치해 있고 years가 적을 수록, 즉 경력이 짧을수록 연봉이 낮다는 것을 알 수 있다. 그런데 데이터분석을 하는 어떤 다른 사람이 몇넌 전에 다음과 같은 주장을 했다. 도메인 지식이 없는, 단순히 데이터 분석만 하는 사람들은 naive하게 “아, 야구선수가 경력이 많아지면서 경험이 풍부해져서 더 경기 실적이 우수하구나!” 라고 생각할 수 있다고 한다. 하지만 사실은 스포츠 도메인에서는 야구선수가 경력이 많다, 즉 나이가 많다는 것은 큰 핸디캡이라고 한다며 여기서는 야구선수가 경력이 많아서 연봉이 높은게 아니라 선수가 비교적 노령임에도 불구하고 연봉이 높은거라고 해석하는 것이 맞다고 한다. 따라서 해석 할 때 도메인 지식이 중요하고 항상 주의해야 한다고 했다. 나도 어느정도 동의는 하지만 현실적으로 데이터 분석가가 도메인 지식이 충분하지 않은 상태로 데이터 분석만 할 수 있다고 해도, 다음과 같은 요건을 충족 시킨다면 데이터를 잘못 해석 하는 위험을 줄일 수 있다고 생각한다. 첫째, 도메인 지식이 있는 사람과 충분히 의사소통을 하고 독단적인 결론을 내리지 않는다. 둘째, 함부로 변수간의 인과관계를 주장하지 않는다. (경험이 풍부하기 때문에 연봉이 높다 등)

반응형