scikit-learn
randomforest과 boosting의 차이
gggg21
2025. 3. 24. 11:00
기본적으로 Decision Tree(의사결정나무)의 뿌리 구조(트리 분할 방식)는 동일하며,
그 위에서 어떻게 여러 개의 트리를 활용하느냐에 따라 Random Forest와 Boosting이 나뉩니다.
✅ 📌 Random Forest vs Boosting 핵심 개념
알고리즘트리 구조학습 방식특징
Random Forest | 여러 개의 독립적인 Decision Tree | 트리를 개별적으로 학습 후 투표(분류) 또는 평균(회귀) | Overfitting 방지, 안정적이지만 Boosting보다는 성능 낮음 |
Boosting (XGBoost, LightGBM 등) | 여러 개의 연속적인 Decision Tree | 이전 트리의 오류를 보완하면서 순차적으로 학습 | 높은 정확도, 하지만 학습 속도가 느림 |
✅ 📌 Random Forest (랜덤 포레스트)
- 여러 개의 Decision Tree를 각각 독립적으로 학습 → Voting(분류) 또는 Averaging(회귀)
- 각 트리는 서로 다른 랜덤 샘플과 랜덤 피처를 사용해서 학습
- 개별 트리는 약하지만, 여러 개를 조합하면 안정적인 성능을 제공
- Overfitting 방지에 강함 (Boosting보다 안정적)
🎯 쉽게 말하면?
- 여러 개의 Decision Tree를 각각 따로 학습한 후, 다수결(분류) 또는 평균(회귀)으로 최종 결정
- 개별 트리는 강하지 않지만, 여러 개를 조합해서 강력한 모델을 만듦
✅ 📌 Boosting (XGBoost, LightGBM)
- 트리를 순차적으로 학습하면서, 이전 트리의 오류를 보완하는 방식
- 첫 번째 트리가 예측을 하면, 잘못된 부분에 가중치를 더 줘서 다음 트리가 학습
- 여러 개의 트리를 이어서 학습 → 최종적으로 강력한 모델을 생성
- XGBoost, LightGBM 같은 모델들이 Boosting을 기반으로 만들어짐
🎯 쉽게 말하면?
- 트리 하나가 틀린 부분을 다음 트리가 보완하면서 강력한 모델을 완성
- Random Forest보다 더 정교하고 높은 성능, 하지만 학습 시간이 오래 걸릴 수 있음
✅ 📌 핵심 정리
알고리즘트리 연결 방식주요 특징
Random Forest | 여러 트리를 독립적으로 학습 후 투표/평균 | 안정적이고 Overfitting 방지 |
Boosting (XGBoost 등) | 이전 트리의 오류를 보완하면서 순차적으로 학습 | 높은 정확도, 하지만 학습이 느림 |
🔥 즉, Random Forest는 다수결, Boosting은 서로 보완하면서 학습하는 방식! 🚀