-
Bagging과 Random Forestscikit-learn 2025. 3. 13. 16:10
Bagging (Bootstrap Aggregating) 간단 개념 및 이해
**Bagging (Bootstrap Aggregating)**은 여러 개의 약한 학습기(weak learner)를 결합하여 예측 성능을 향상시키는 앙상블 학습 기법입니다. 주로 **분류(Classification)**와 회귀(Regression) 문제에 사용됩니다. 이 기법은 기본적으로 과적합(overfitting)을 방지하고 모델의 정확도를 높이는 데 도움을 줍니다.
1. Bagging의 원리
Bagging은 크게 3단계로 이루어집니다:
- Bootstrap 샘플링 (복원 추출):
- 원본 데이터를 여러 번 샘플링하여 여러 개의 훈련 세트를 생성합니다. 이때 각 샘플은 복원 추출 방식으로 뽑히므로, 일부 샘플은 여러 번 선택될 수 있습니다.
- 여러 개의 모델 학습:
- 각 샘플에 대해 별도의 모델을 학습시킵니다. 여러 개의 모델은 각기 다른 훈련 세트를 바탕으로 독립적으로 학습됩니다.
- 예측 결합:
- 각 모델이 예측한 결과를 결합하여 최종 예측값을 생성합니다.
- 분류 문제에서는 각 모델의 예측을 다수결(voting) 방식으로 결합합니다.
- 회귀 문제에서는 모델들의 예측값을 평균하여 최종 예측값을 구합니다.
- 각 모델이 예측한 결과를 결합하여 최종 예측값을 생성합니다.
2. Bagging의 장점
- 과적합 방지: 여러 모델의 예측을 결합함으로써 하나의 모델이 과적합 되는 현상을 줄일 수 있습니다.
- 성능 향상: 각기 다른 데이터를 학습한 모델들이 결합되어 성능이 향상됩니다.
- 모델 안정성: 약한 모델들이 결합되면서 더 강력하고 안정적인 예측을 할 수 있습니다.
3. Bagging의 예시: Random Forest
**랜덤 포레스트(Random Forest)**는 Bagging 기법을 활용한 대표적인 알고리즘입니다. 주로 **결정 트리(Decision Tree)**를 기본 모델로 사용하며, 여러 개의 결정 트리를 학습시켜 예측합니다. 각 트리는 서로 다른 훈련 세트로 학습되며, 최종 예측은 다수결(voting)이나 평균으로 결정됩니다.
4. Bagging의 비유
Bagging을 비유하자면, 여러 사람에게 같은 질문을 던져서 가장 많이 나오는 답을 선택하는 방식과 같습니다. 여러 사람(모델)의 답을 모아서 더 신뢰할 수 있는 최종 답을 얻는 방식이 바로 Bagging입니다.
'scikit-learn' 카테고리의 다른 글
Cross validation 교차검증 (0) 2025.03.17 머신러닝 boosting & adaboost 그리고 bagging (0) 2025.03.14 앙상블( Ensemble ) (0) 2025.03.01 머신러닝 - 분류 모델의 이해 - (0) 2025.03.01 scikit-learn_지도학습 (1) 2025.02.14 - Bootstrap 샘플링 (복원 추출):