Machine Learning/Supervised Learning

[Supervised Learning][Regression] Regression Tree(회귀 트리)

데이터 세상 2022. 10. 10. 16:38

[Supervised Learning] Decision Tree

 

[Supervised Learning] Decision Tree

Decision Tree (결정 트리) 분류와 회귀 문제에 널리 사용하는 모델 결정에 다다르기 위해 예/아니오 질문을 이어 나가면서 학습 결정 트리의 학습은 정답에 가장 빨리 도달하는 예/아니오 질문(테스

yumdata.tistory.com

 


Regression Tree

회귀 함수를 기반으로 하지 않고 결정 트리와 같이 트리를 기반으로 한 회귀 방식 모델

회귀를 위한 트리를 생성하고 이를 기반으로 회귀 예측을 하는 것

 

vs Classification Tree

리프 노드에서 예측 결정값을 만드는 과정이 다름

분류 트리가 특정 클래스 레이블을 결정하는 것과는 달리

회귀 트리는 리프 노드에 속한 데이터 값의 평균값을 구해 회귀 예측값을 계산

 

2차 평면도 위에 데이터가 존재한다고 가정할 때 각 Split과 같이 트리 분할이 완료된 상태에서

리프 노드에 해당하는 데이터 값의 평균 값을 최종 리프 노드 값으로 사용하는 것이 바로 회귀 트리의 원리

 

선형회귀는 예측 회귀선을 표현하지만

Tree Regressor의 경우 분할되는 노드에 따라 가지를 만들면서 계단 형식의 회귀선이 생성

트리 기반 모델의 경우 max_depth가 깊을수록 과적합 이슈가 발생하는데 Tree Regressor의 경우도 마찬가지로 max_depth = 7 모델의 회귀선을 확인하면 아웃라이어까지 학습하게 되어 과적합 문제가 발생

 

 

Decision Tree, Random Forest, GBM, XGBoost, LightGBM 등의 모든 트리 기반의 알고리즘은 분류뿐만 아니라 회귀도 가능하다. 트리 생성이 CART 알고리즘에 기반하고 있기 때문이다. CART(Classification And Regression Trees)는 이름에서도 알 수 있듯 분류뿐만 아니라 회귀도 가능하게 해주는 트리 생성 알고리즘이다.

 

사이킷런에서는 결정 트리, 랜덤 포레스트, GBM에서 CART 기반의 회귀 수행을 할 수 있는 Estimator 클래스를 제공한다. 또한 XGBoost, LightGBM도 사이킷런 래퍼 클래스를 통해 이를 제공한다.

 

Scikit-Learn Tree Regression / Classification Estimator

알고리즘 회귀 Estimator 클래스 분류 Estimator 클래스
Decision Tree DecisionTreeRegressor DecisionTreeClassifier
Gradient Boosting GradientBoostingRegressor GradientBoostingClassifier
XGBoost XGBRegressor XGBClassifier
LightGBM LGBMRegressor LGBMClassifier

 

 


References

 

반응형