XGboost / LightGBM / CatBoost

이재현·2024년 7월 2일
0

XGBoost (2014), LightGBM (2017), CatBoost(2018)는 모두 그라디언트 부스팅(Gradient Boosting) 알고리즘을 기반으로 하지만, 각기 다른 최적화와 특징을 가지고 있습니다.

각 모델은 어떤 특징을 가지고있으며 어떤 데이터에 좋은 성능을 보일까요?

XGBoost

XGBoost (Extreme Gradient Boosting)는 성능과 효율성을 고려하여 설계된 그라디언트 부스팅 프레임워크입니다.

Regularization

  • L1 및 L2 정규화를 사용하여 모델의 복잡도를 제어하고 과적합을 방지합니다.

Parallel Processing

  • 병렬 처리를 통해 학습 속도를 크게 향상시킵니다.

Tree Pruning

  • "최소 손실을 고려한 가지치기" 방법을 사용하여 불필요한 노드를 제거하고 트리를 최적화합니다.

Handling Missing Values

  • 결측값을 자동으로 처리하여 데이터 전처리의 부담을 줄입니다.

좋은 성능을 보이는 데이터

(1) 크고 복잡한 데이터셋

  • XGBoost는 매우 큰 데이터셋과 복잡한 특징을 가진 데이터에 대해 잘 작동합니다.

(2) 다양한 타입의 문제

  • 분류, 회귀, 순위 예측 등 다양한 문제에 효과적입니다.

(3) 정형 데이터

  • 특히 테이블 형식의 정형 데이터에 대해 좋은 성능을 보입니다.

LightGBM

LightGBM (Light Gradient Boosting Machine)은 마이크로소프트에서 개발한 그라디언트 부스팅 프레임워크로, 학습 속도와 메모리 사용을 최적화한 것이 특징입니다.

Leaf-wise Tree Growth

  • 전통적인 level-wise 방식 대신 leaf-wise 방식을 사용하여 트리를 확장합니다. 이는 더 깊고 예측력이 높은 트리를 생성합니다.

Histogram-based Algorithm

  • 연속형 변수를 히스토그램으로 변환하여 연산 효율성을 높입니다.

Categorical Feature Handling

  • 범주형 변수를 자동으로 처리하여 효율성을 높입니다.

좋은 성능을 보이는 데이터

(1) 대규모 데이터셋

  • LightGBM은 특히 매우 큰 데이터셋에서 빠르고 효율적인 학습을 제공합니다.

(2) 많은 특징을 가진 데이터

  • 많은 수의 특징을 가진 데이터에서도 잘 작동합니다.

(3) 온라인 학습

  • 실시간 데이터와 온라인 학습 시나리오에서 유용합니다.

CatBoost

CatBoost (Categorical Boosting)는 Yandex에서 개발한 그라디언트 부스팅 프레임워크로, 범주형 데이터를 효과적으로 처리하는 데 초점을 맞추고 있습니다.

Categorical Feature Handling

  • 범주형 변수를 자동으로 처리하여 원-핫 인코딩 없이도 범주형 변수의 정보를 잘 반영합니다.

Ordered Boosting

  • 부스팅 과정에서 데이터 순서를 고려하여 과적합을 방지합니다.

Robustness to Overfitting

  • 과적합에 강한 모델을 제공하며, 작은 데이터셋에서도 잘 작동합니다.

좋은 성능을 보이는 데이터

(1) 범주형 변수가 많은 데이터

  • CatBoost는 범주형 변수가 많은 데이터에 대해 매우 좋은 성능을 보입니다.

(2) 작고 복잡한 데이터셋

  • 상대적으로 작은 데이터셋에서도 좋은 성능을 발휘합니다.

(3) 정형 데이터

  • 테이블 형식의 데이터에서 특히 강력한 성능을 보입니다.

요약

XGBoost

  • 매우 큰 데이터셋과 복잡한 특징을 가진 데이터에 적합하며, 정형 데이터에 대해 좋은 성능을 보입니다.

LightGBM

  • 학습 속도와 메모리 사용이 최적화되어 있어 대규모 데이터셋과 많은 특징을 가진 데이터에 적합합니다.

CatBoost

  • 범주형 변수가 많은 데이터와 상대적으로 작은 데이터셋에서도 좋은 성능을 발휘하며, 범주형 변수를 효과적으로 처리합니다.
profile
데이터사이언티스트

0개의 댓글