Machine Learning/Regression

Regression(회귀) 모델 1. Decision Tree

jinmc 2022. 4. 23. 22:59
반응형

가장 기본적인 모델인 Decision Tree(결정 트리) 입니다.

전체 Input Space를 여러 개의 작은 직사각형으로 계속 자르는 알고리즘으로 모델을 만드는 것입니다.

Classification and regression tree (CART)라고도 한다고 합니다. 

그림은 타이타닉 데이터에서 가져왔다고 합니다. 성별, 나이와 가족 숫자라고 하네요.

 

Decision Tree의 경우 굉장히 직관적이고 이해하기 쉽다는 장점이 있지만, 

어떤  특성(Feature)을 먼저 사용할 지에 대해서 dependency가 굉장히 걸린다는 부담이 있습니다. 

다른 말로는, 갈릴 때 cost가 가장 적은 split을 먼저 고릅니다. greedy algorithm이라고도 표현하네요.

 

Regression 과 Classification의 cost는 이렇게 계산합니다.

 

pk는 class k 의 proportion(비율이라고 합니다)

 

Stop splitting 하는 방법

특정 숫자를 정해 놓고, (예를 들어 10) 그 숫자에 도달하지 못하는 branch splitting은 무시하는 방법도 있고,

아니면 Maximum depth를 정하는 방법도 있을 것 같습니다.

 

Pruning

Feature Importance를 계산해서 Importance가 적은 leaf나 branch를 대상으로 제거하는 방법입니다.

 

Decision tree는 이처럼 이해하기 쉽고, 직관적이지만, 단점이 있습니다.

굉장히 복잡한 tree를 만들어서 overfitting이 되는 경우도 있고,

약간만 다른 data가 들어와도 완전히 다른 tree가 만들어지는 경우도 있습니다.

또한, greedy algorithm이기 때문에 global optimum을 찾을 수 없다는 점도 있습니다.

이런 단점들 때문에 Ensemble method가 많이 쓰입니다.

 

ref : https://blog.naver.com/clstat/222511294263 (Decision Tree, 한글)

https://towardsdatascience.com/decision-trees-in-machine-learning-641b9c4e8052#:~:text=A%20tree%20has%20many%20analogies,represent%20decisions%20and%20decision%20making. (Decision Tree, 영어)

반응형