데이터과학 삼학년

배깅과 페이스팅 (Bagging, pasting) 본문

Machine Learning

배깅과 페이스팅 (Bagging, pasting)

Dan-k 2021. 6. 7. 20:40
반응형

Bagging (Bootsrap Agregating)

- 훈련세트에서 중복을 허용(Bootstrap)하여 샘플링하는 방식

 

Pasting

- 훈련세트에서 중복을 허용하지 않고 샘플링하는 방법

 

배깅과 페이스팅 모두 훈련세트의 서브셋을 무작위로 구성하여 다양한 알고리즘을 학습시키고 각 알고리즘의 결과를 종합하여 최종 결과를 내놓는 방식(앙상블)이다.

 

앙상블 결과 산정 (일반적)

> 분류 : 통계적 최빈값

> 회귀 : 평균값

 

예시 코드

sklearn 의 BaggingClassifier(BaggingRegressor)로 배깅과 페이스팅을 모두 구성가능하다.

from sklearn.ensemble import BaggingClassifier
from sklearn.tree import DecisionTreeClassifier

bag_clf = BaggingClassifier(
	DecisionTreeClassifier(), 
    	n_estimators=500,
    	max_samples = 100, bootstrap=True, n_jobs=1
            )
        
bag_clf.fit(X_train, y_train)
y_pred = bag_clf.predict(X_test)

###
# bootstrap=False # -> pasting
# bootstrap=True  # -> bagging

 

배깅과 일반 모델의 성능 비교

 

부트스트래핑은 각 예측기가 학습하는 서브셋에 다양성을 증가 시킴

 > 배깅이 페이스팅보다 편향이 조금 더 높음

 > 다양성 추가로 인해 예측기 간 상관관계를 줄이므로 앙상블의 분산 감소

728x90
반응형
LIST
Comments