더북(TheBook)

7.2.5 앙상블 알고리즘

머신러닝에서 앙상블이란 여러 파라미터로 복수의 모델을 만든 후 이를 조합한 모델을 생성하는 것을 뜻합니다. 효과적인 앙상블 모델을 만들기 위해서는 모델을 조합하는 방식을 이해해야 합니다. 몇 가지 앙상블 알고리즘을 알아봅시다.

 

XGBoost 알고리즘으로 그레이디언트 부스팅 구현하기

2014년에 공개된 XGBoost 알고리즘은 그레이디언트 부스팅 방식을 사용하며, 가장 인기 있는 앙상블 알고리즘입니다. 이 알고리즘은 서로 연결된 트리 집단을 생성하고 경사하강법을 사용하여 잔여 오차(residual error)를 최소화합니다. 이러한 특징 때문에 XGBoost 알고리즘은 아파치 스파크 등 분산 처리 인프라나 구글 클라우드 플랫폼, 아마존 웹 서비스(AWS) 등 클라우드 컴퓨팅 환경과 궁합이 잘 맞습니다.

XGBoost 알고리즘으로 그레이디언트 부스팅을 구현하는 방법을 살펴봅시다.

1. XGBClassifier 분류 모델의 인스턴스를 생성하고 훈련 데이터로 모델을 훈련합니다.

▼ myxgboost.ipynb

[in :]

from xgboost import XGBClassifier
classifier = XGBClassifier()
classifier.fit(X_train, y_train)

[out:]

XGBClassifier(base_score=0.5, booster='gbtree', colsample_bylevel=1,
              colsample_bynode=1, colsample_bytree=1, gamma=0,
              learning_rate=0.1, max_delta_step=0, max_depth=3,
              min_child_weight=1, missing=None, n_estimators=100, n_jobs=1,
              nthread=None, objective='binary:logistic', random_state=0,
              reg_alpha=0, reg_lambda=1, scale_pos_weight=1, seed=None,
              silent=None, subsample=1, verbosity=1)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.