트리 기반의 앙상블 학습에서 가장 각광 받고 있는 알고리즘 중 하나

 

GBM에 기반하고 있지만 GBM이 가진 '느린 수행 시간' 및 '과적합 규제(Regularization) 부재' 등의 문제를 해결

 

병렬 CPU환경에서 병렬 학습이 가능해 GBM대비 빠른 학습 시간을 가진다.

 

Early Stopping 기능

기본 GBM의 경우 지정된 횟수(n_estimator)를 다 채워야 학습이 종료 되지만 XGBoost의 경우 부스팅 반복 횟수에 도달하지 않아도 예측 오류가 더 이상 개선되지 않는다면 반복을 끝까지 수행하지 않고 중지하여 수행시간을 개선할 수 있다.

 

독자적인 XGBoost 프레임 워크 기반의 XGBoost와 사이킷런과 연동되는 모듈로 나뉜다.

 

과적합 문제가 심각하다면 다음과 같이 적용할 것을 고려할 수 있다.

eta 값을 낮춘다.(0.01 ~ 0.1). eta 값을 낮출 경우 num_round(n_estimators)는 반대로 높여줘야 하낟.

max_depth 값을 낮춘다.

min_child_weight 값을 높인다.

gamma 값을 높인다.

subsample과 colsample_bytree를 조정하는 것도 트리가 너무 복잡하게 생성되는 것을 막아 과적합에 도움이 될 수 있다.

 

XGBoost 자체적으로 교차검증, 성능 평가, 피처 중요도 등의 시각화 기능을 가지고 있다.

 

 

 

+ Recent posts