앙상블(Ensemble)
여러 개의 기본 모델을 결합하여 훨씬 강력한 하나의 새로운 모델을 만들어내는 기법
보팅(Voting)
다양한 유형의 알고리즘을 기반으로 한 여러 모델들의 예측 결과를 투표로 통해 최종 예측결과로 결정하는 방법
- 하드 보팅: 다수 모델이 예측한 값을 최종 선택
- 소프트 보팅: 모든 모델이 예측한 레이블 값의 결정 확률 평균을 구한 뒤 가장 확률이 높은 값을 최종 선택
배깅(Bagging)
데이터로부터 부트스트랩(보간 추출: 중복이 허용한 샘플링) 한 데이터로 모델들을 학습시킨후, 모델들의 예측 결과를 집계해 최종 결과를 얻는 방법
- Bootstrap Aggregating의 약자
- 같은 유형의 알고리즘을 기반으로 한 모델들을 사용(예를 들어, KNN 모델 100개)
랜덤 포레스트(Random Forest)
- 여러 Decision Tree 모델이 전체 데이터에서 배깅 방식으로 각자의 데이터를 샘플링
- 배깅의 가장 대표적인 알고리즘
부스팅(Boosting)
같은 유형의 알고리즘 기반 모델 여러 개에 대해 순차적으로 학습을 수행하는 방법
- 이전 모델이 제대로 예측하지 못한 데이터에 대해서 가중치를 부여하며 다음 모델이 학습과 예측을 진행하는 방법
- 계속하여 모델에게 가중치를 부스팅하며 학습을 진행해 부스팅 방식이라고 함
- 예측 성능이 뛰어남
- 배깅에 비해 성능이 좋지만, 속도가 느리고 과적합 발생 가능성이 있기 때문에 상황에 맞기 적절히 사용해야 함
스태킹(Stacking)
여러 모델의 예측 값을 최종 모델의 학습 데이터로 사용하여 예측하는 방법
- (예시)
- KNN, Logistic Regression, XGBoost 모델을사용해 4종류 예측값을 구함
- 이 예측값을 최종 모델인 RandomForest 학습 데이터로 사용
- 현실에서 거의 사용되지 않으며, 캐글(Kaggle)과 같은 미세한 성능 차이로 승부를 결정하는 대회에서 사용됨
-기본 모델로 4개 이상 선택해야 좋은 결과를 기대할 수 있음