inee0727 2022. 9. 2. 23:25

CatBoost 특징

1. Level-wise Tree

  • LightGBM은 DFS(깊이 우선 탐색)처럼 트리를 우선적으로 깊게 형성하는 방식을 취하며, XGBoost는 BFS(너비 우선 탐색)처럼 우선적으로 넓게 트리를 형성한다. CatBoost도 XGBoost처럼 BFS 방식 즉, level-wise 방식으로 트리를 형성하나 Feature를 모두 동일하게 대칭적인 트리 구조로 형성하게 된다. 이런 방식을 통해 예측 시간을 감소시키게 된다.

2. Ordered Boosting

  • 기존의 부스팅 모델이 일괄적으로 모든 훈련 데이터를 대상으로 잔차계산을 했다면, CatBoost는 일부 데이터만을 가지고 잔차계산을 한 뒤, 모델을 만들어 나머지 데이터의 잔차는 이 모델로 예측한 값을 사용한다.

3. Random Permutation

 

4. Ordered Target Encoding

5. Categorical Feauture Combinations

  • 데이터셋의 클래스를 명확하게 구분할 수 있는 중복되는 범주형 변수가 2개 이상 존재할 때, 이를 하나의 변수로 통합해 처리하는 것을 자동으로 수행

6. One-hot Encoding

 

7. 수치형 변수 처리

 

8. Optimized Parameter tuning

 

Catboost의 장∙단점

1. 장점

  • 다른 GBM에 비해 overfitting이 적다.
  • 범주형 변수에 대해 특정 인코딩 방식으로 인하여 모델의 정확도와 속도가 높다.
  • One-hot Encoding, Label Encoding 등 encoding 작업을 하지 않고도 그대로 모델의 input으로 사용할 수 있다.

 

2. 단점

  • missing data를 처리해주지 않는다.
  • Sparse Matrix 즉, 결측치가 매우 많은 데이터셋에는 부적합한 모델이다.
  • 데이터 대부분이 수치형 변수인 경우, LightGBM보다 학습 속도가 느리다. (즉 대부분이 범주형 변수인 경우 사용)

 

https://velog.io/@tjddls321/CatBoost