CatBoost

이승수·2023년 1월 19일
0

장점

캣부스트 모델을 사용할 경우에는 하이퍼파라미터의 설정을 잘 해줘야 한다.

캣부스트는 다른 부스터 모델보다 카테고리형 학습을 잘함

부스팅 모델은 결측치를 알아서 처리한다는 장점이 있다.

특징

1. Level-wise Tree

XGBoost 와 더불어 Catboost 는 Level-wise 로 트리를 만들어나간다. (반면 Light GBM 은 Leaf-wise 다)
Level-wise 와 Leaf-wise 의 차이는, 그냥 직관적으로 말하면 Level-wise 는 BFS 같이 트리를 만들어나가는 형태고, Leaf-wise 는 DFS 같이 트리를 만들어나가는 형태다. 물론 max_depth = -1 이면 둘은 같은 형태지만, 대부분의 부스팅 모델에서의 트리는 max_depth != -1 이기 때문에 이 둘을 구분하는 것이다.

2. Orderd boosting

Catboost 는 기존의 부스팅 과정과 전체적인 양상은 비슷하되, 조금 다르다.
기존의 부스팅 모델이 일괄적으로 모든 훈련 데이터를 대상으로 잔차계산을 했다면, Catboost 는 일부만 가지고 잔차계산을 한 뒤, 이걸로 모델을 만들고, 그 뒤에 데이터의 잔차는 이 모델로 예측한 값을 사용한다.

3. Random Permutation

위에서 Ordered Boosting 을 할 때, 데이터 순서를 섞어주지 않으면 매번 같은 순서대로 잔차를 예측하는 모델을 만들 가능성이 있다. 이 순서는 사실 우리가 임의로 정한 것임으로, 순서 역시 매번 섞어줘야 한다. Catboost 는 이러한 것 역시 감안해서 데이터를 셔플링하여 뽑아낸다. 뽑아낼 때도 역시 모든 데이터를 뽑는게 아니라, 그 중 일부만 가져오게 할 수 있다. 이 모든 기법이 다 오버피팅 방지를 위해, 트리를 다각적으로 만들려는 시도이다.

4. Ordered Target Encoding

Target Encoding, Mean Encoding, Response Encoding 이라고 불리우는 기법 (3개 다 같은 말이다.)을 사용한다.

profile
AI/Data Science

0개의 댓글