LightGBM을 설치하는데 고전하다가, 프로젝트 기간 안에 설치 및 적용이 어려울 것 같아 XGBoost로 만족하고 공부하기로 했다.


사실 XGBoost, LightGBM 등은 재작년 쯤부터 핫하게 들어왔던 키워드였으나, 캐글을 열심히 하지 않아서인지 실제로 적용해볼 기회는 없었다.


이번에 변수의 영향도, 관계보다 예측력에 목적이 있는 프로젝트를 진행하다보니 관심을 가지고 학습하기로 했다.



1. Bagging vs Boosting

  : 둘 모두 앙상블 방법.

    랜덤하게 샘플링하여 동일한 방법을 적용하는 것과 다르게

    앞 단계에서 발생하는 오차를 모델링하며, 각 단계에서의 최적 가중치를 추적


2. Boosting은 numeric한 feature만 입력해야한다. why?


https://www.kaggle.com/c/avito-demand-prediction/discussion/57094


참고




3. GBM vs XGBoost vs LightGBM

   (출처 : https://www.kaggle.com/nschneider/gbm-vs-xgboost-vs-lightgbm/notebook)


Additional Observations

GBM

Advantages:

  • None

Disadvantages:

  • No early exit
  • Slower training
  • Less accurate

xgboost

Advantages:

  • Proven success (on kaggle)
  • Now with Histogram Binning

Disadvantages:

  • Traditionally slower than lightGBM, but tree_method = 'hist' is a big improvement.
    → LightGBM을 쓰지 않아도, 충분히 속도 개선와 예측력 개선이 가능할 것으로 보인다.

lightGBM

Advantages:

  • Fast training efficiency
  • Low memory usage
  • Better accuracy
  • Parallel learning supported
  • Deal with large scale data
  • Corporate supported

Disadvantages:

  • Newer, so less community documentation


+ Recent posts