Artificial Intelligence/Machine Learning
[ML] CatBoost란
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보다 학습 속도가 느리다. (즉 대부분이 범주형 변수인 경우 사용)