Note
배깅 (Bagging) - 랜덤 포레스트(Random Forest) 본문
1. 배깅은 Bootstrap Aggregating의 줄임말, 부트스트래핑을 이용한 학습법
(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 |