데이터분석/Machine Learning

회귀 결정트리의 불순도 측정과 값 해석

늘근이 2018. 4. 11. 22:18

걍 나중 기억회복용

결정트리, 결정나무, 디시전트리, 디시전나무(?) 

참으로 많은 이름으로 불리지만, 보통은 분류 문제만 소개하고 있지 회귀방식에 대한 깊은 이해가 되어있는 글은 없어서 이해차원차 일단 끄적거린다. 

회귀는 사실 어떻게 보면 그냥 선형성이 보인다면 회귀를 돌리는게 맞아보이고, 결정트리의 경우 예측값이 연속적으로 나오는게 아니라 띄엄띄엄 우둘투둘(jagged) 존재하기 때문에 처음으로 고민하는 모델은 아닌듯하다.

그러나, 해석력이 꼭 필요한 실무의 경우인데, 예를들어 미세먼지를 측정하는데 있어 바람의 세기와 풍향의 각도등이 들어온다면 선형적으로 구분할수 없는 문제가 되어버린다. 

미세먼지 크기 = 풍향의 각도 * 100 + if동남풍이면??

바람의 방향에 따라 바뀌어야 되는 조건이 다르다면 미세먼지의 양은 단순한 y=x*100 + x2 *200 으로 표현하기가 불가능할것이다.

회귀 트리는 분류문제와는 다르게 지니계수나 엔트로피 계산이 아니라 분산을 가지고 계산한다. 아무래도 값이기 때문에 그룹을 나눴을때 기준이 얼마나 그룹내 분산이 적게 잘 나눴냐에 따라서 사실 어느정도 클러스터링과 비슷해 보이기도 한다.

결국 아래와 같이 나올수있는값은 한정되어있으나,

가지를 정말 여러번 치면, 비선형회귀로 오버피팅되면서 여러 값을 맞추긴 맞출것이다.

더이상 나눌만한 유의미한 집합이 나오지 않는다거나, (예를들어 엄마노드의 5%이상이 한쪽으로 몰리거나) 추가적으로 얻을수있는 분산의 감소가 없으면 그대로 끝나는 것이다.

하지만, 이렇게 트리를 확장해나가는것이 뚝 끝기게 되면 그 이후에 나타날수있는 유의미한 가지들을 캐치하지 못하게 되어 일단 확장시켜놓고 끊는 방법(pruning)과 혹은 테스트데이터와 트레이닝 데이터를 주고받으면서 변화가 없을때까지 반복하는 방법도 존재

http://www.stat.cmu.edu/~cshalizi/350-2006/lecture-10.pdf