Python/데이터분석
의사결정나무
무랴딩
2022. 6. 23. 23:26
의사결정나무란 무엇일까? 단어를 풀어서 보면, 의사를 결정하는 나무라고 볼 수 있다. 생각해보면 이진트리와 같이 '나무', 혹은 '트리'라는 단어를 어렵지 않게 찾아볼 수 있다. '나무'란 무엇일까?
'나무', 혹은 '트리'는 상위, 하위 단계를 가지는 계층 구조라고 정의할 수 있다. 그러다면 의사결정나무는 의사를 결정하는 계층 구조이다.
다음과 같은 데이터가 있다고 생각해보자.
[1, 2, 3, 4, 5, 10, 20, 30, 40, 50, 77]
이 데이터 셋을 분류하는 방식은 아주 다양할 것이다. '25보다 큰가?' '5의 배수인가?' 등등. 간단하게 말하자면 의사결정나무는 이렇게 일정한 기준을 가지고 분류하는 방식을 일컫는다고 볼 수 있다. 실제로는 훨씬 복잡한 방식으로 동작하겠지만.
의사결정나무에서 분류 기준은 '한쪽으로 쏠리도록' 만들 수 있어야 한다. 예를 들자면, 위의 데이터 셋에서 '5의 배수인가?' 라는 질문보다는 '70보다 큰가?' 라는 기준이 더 의미 있다고 볼 수 있다.
의사결정나무는 크게 두 종류, 분류나무와 회귀나무로 나눌 수 있다. 분류나무는 목표 변수가 이산형일때 사용하고, 회귀나무는 목표 변수가 연속형일때 사용한다.