python package명: xgboost
🌲 트리 기반의 앙상블 학습
GBM 기반
💡 GBM의 과적합 문제 해결
max_depth 파라미터로도 조절하기도 함.booster: gdtree(default), gdliner 선택
silent: default=0, 출력 메시지 없애고 싶을 때 = 1
nthread: CPU실행 스레드 개수 조정, default=전체 사용
eta[default=0.3, ailas: learning_rate]: GBM학습률과 같은 의미, 파이썬 래퍼 기반 xgboost의 default = 0.3, default = 0.1
보통은 0.1~0.2 사이
max_depth[default=6]: 0을 지정하면 깊이에 제한 없음
sub_sample[default=1]: 0~1 가능
colsample_bytree[default=1]: feature를 임의로 샘플링 할 때 사용. 많은 feature가 있을 때 과적합 조정할 때 유용
lambda[default=1, alias: reg_lambda]: L2 Regularization 적용 값. feature 개수가 많을수록 사용하길 권장. 값이 클수록 과적합 감소 효과
alpha[default=0, ailas: reg_alpha]: L1 Regularization 적용 값. feature 개수가 많을수록 사용하길 권장. 값이 클수록 과적합 감소 효과
scale_pos_weight[default=1]: 특정 값으로 치우친 비대칭한 클래스. 데이터셋의 균형을 유지하기 위한 파라미터
(XGBoost) -> (GBM)
eta -> learning_rate
sub_sample -> subsample
lambda -> reg_lambda
alpha -> reg_alpha
colsample_bytree -> max_features (유사)
num_boost_rounds -> n_estimators
eta 낮춤(0.01~0.1) == num_round를 높임
max_depth 낮춤
min_child_weight 높임
gamma 높임