머신러닝/인프런

부스팅

stop0729 2021. 3. 11. 01:00

부스팅 종류

 

adaboost

각각의 분류기준에 가중치를 넣어서 결합함

 

 

그래디언트 부스트 (중요)

경사하강법을 이용. 오류값 = 실제값 - 예측값

'반복 수행을 통해 오류를 최소화할수 있도록 가중치의 업데이트값을 도출하는 기법' (후에 제대로 된 알고리즘을 다시 공부할것)

 

하이퍼 파라미터:

loss : 경사 하강법에서 사용할 비용함수를(?) 지정. default 값은 deviance

learning_rate : 학습을 진행할 때마다 적용하는 학습률

n_estimators : weak learner 의 갯수

subsample : weak learner 가 학습에 사용하는 데이터의 샘플링 비율

 

약한학습기를 순차적으로 학습하기 떄문에 시간이 오래걸림

 

클래스를 부르는 방법은

from sklearn.ensemble import GradientBoostingClassifier 

 

XG Boost (eXtra Gradient Boost) :

뛰어난 예측 성능, GBM 대비 빠른 수행 시간(cpu 병렬처리, gpu지원)

다양한 성능 향상기능(규제 기능, tree pruning(가지치기))

조기중단, 자체 내장된 교차검증, 결손값 자체 처리

 

트리기반의 앙상블 알고리즘들은 하이퍼 파라미터 많다.

근데 XG Boost 는 더많다..

 

 

#Light GBM

 

XGBoost보다 학습에 걸리는 시간이 적다. 메모리 사용량이 적다.

 

일반 GBM 계열의 트리 분할 방법과 다르게 리프중심 트리분할 방식을 사용한다.

 

카테고리형 피처를 자동 변환해준다. (카테고리가 숫자가 아닌 문자여도 자동으로 변환되는듯?)

 

'num_leaves', 'max_depth', 'min_child_samples' , 'subsample'

'머신러닝 > 인프런' 카테고리의 다른 글

회귀  (0) 2021.03.28
feature selection  (0) 2021.03.28
분류  (0) 2021.03.01
전처리  (0) 2021.02.28
검증  (0) 2021.02.28