Note

배깅 (Bagging) - 랜덤 포레스트(Random Forest) 본문

Machine Learning/Classification

배깅 (Bagging) - 랜덤 포레스트(Random Forest)

알 수 없는 사용자 2021. 5. 25. 09:49
728x90

1. 배깅은 Bootstrap Aggregating의 줄임말, 부트스트래핑을 이용한 학습법

출처 IT위키

(1) 부트스트래핑 : 학습 데이터셋에서 중복을 허용하여 랜덤 하게 추출하는 방식 (복원 추출)

(2) 페이스팅 : 학습 데이터셋에서 중복 없이 랜덤 하게 추출하는 방식 (비 복원 추출)

(3) 장점 : 분산 감소

(4) 단점 : 중복으로 인해 특정 샘플은 사용되지 않고 특정 샘플이 여러 번 사용되어 편향될 가능성이 있다.

* OOB(Out - Of - Bag) sample : 샘플링되지 않은 나머지 샘플

 

2. 보팅(Voting)과 배깅(Bagging)

(1) 공통점 : 다수의 분류기 결과에 대해서 투표를 통해 최종 예측 결과를 결정하는 방식.

(2) 차이점 : 보팅은 서로 다른 알고리즘을 가진 분류기를 결합하는 것이고, 배깅의 경우 각각의 분류기가 같은 알고리즘 기반이지만 데이터 샘플링을 다르게 가져가면서 학습해 보팅을 수행하는 것이다.

 

3. 배깅(Bagging) - 랜덤 포레스트(Random Forest)

(1) 배깅기법에서 대표적인 알고리즘

(2) 앙상블 기법 중 비교적 빠른 수행 속도를 가지고 있으며, 높은 예측 성능을 보인다.

(3) 여러 개의 의사 결정 나무 분류기가 전체 데이터에서 배깅을 사용하여 각자 데이터를 샘플링한 후 개별적으로 학습을 수행한다. 그 이후 모든 분류기가 보팅을 통해 예측을 결정한다.

(4) 여러 개의 데이터 세트를 중첩되게 분리하는 것을 사용한 방식 => 부트스트래핑(bootstrapping)

4. 코딩 - 사용자 행동 인지 데이터 사용

필요한 라이브러리를 로딩하고 학습 데이터와 테스트 데이터를 분리 후 rf_clf 클래스를 생성하고 학습 후 예측 성능 평가한 결과 정확도 0.9253 출력

GridSearchCV 로 교차검증 및 하이퍼 파라미터 튜닝을 해 본 결과와 비교. 

 

'Machine Learning > Classification' 카테고리의 다른 글

부스팅(Boosting) - XGBoost ( eXtra Gradient Boost )  (0) 2021.05.25
부스팅(Boosting) - GBM ( Gradient Boosting )  (2) 2021.05.25
보팅 (Voting)  (0) 2021.05.24
앙상블 학습  (0) 2021.05.24
분류 - Decision Tree (2)  (0) 2021.05.20
Comments