랜덤포레스트를 관통하는 3가지 핵심 원리
1. 부트스트랩 (배깅)
전체 학생 데이터 중 복원 추출(중복 허용)로 무작위 샘플을 뽑아 각 나무들에게 나누어 줍니다. 나무마다 공부하는 교과서가 약간씩 달라지는 셈입니다.
2. 무작위 피처 선택
나무를 자를 때 모든 질문(피처)을 쓰지 않고, 랜덤하게 일부 질문들만 후보로 올려 최적의 질문을 고릅니다. 나무의 다양성이 극대화됩니다.
3. 집단지성 (다수결)
새로운 학생이 왔을 때, 수많은 나무들이 각자 예측한 결과들을 모아 가장 많은 표를 얻은 예측값을 최종 결론으로 도출합니다.
하이퍼파라미터 설정 (숲 디자인)
나무가 많을수록 예측이 안정적이고 과적합이 줄어듭니다.
깊이가 너무 깊으면 훈련 데이터에만 과하게 집착(과적합)할 수 있습니다.
이 값을 낮추어야 자잘하게 분할되어 3단계 깊이까지 내려갑니다.
전체 피처(공부, 수면, 출석) 중 몇 개를 랜덤 후보로 뽑아 분할 기준으로 쓸지 정합니다.
학습 데이터셋 (10명의 학생)
N=10합격 여부 경계가 모호하고 약간 섞여 있는 상태(노이즈 데이터)일 때 나무가 더 깊게 성장합니다.
| ID | 📚 공부 시간 (h) | 💤 수면 시간 (h) | 🎯 출석률 (%) | 예측 목표결과 (Label) |
|---|
생성된 숲속의 나무들 (전체 포레스트 시각화)
무작위 데이터 복사본(부트스트랩)과 랜덤 질문 후보로 학습된 전체 숲의 독립된 나무들입니다. 나무를 클릭하면 하단 상세 분석 영역에서 자세한 질문 규칙과 수식을 검사할 수 있습니다.
선택된 나무 #1 상세 분석 및 규칙 검사
사용된 부트스트랩 샘플
전체 10명 중에서 중복 선택을 허용하여 해당 나무에만 배정된 데이터 교과서입니다. (노란색: 중복)
| ID | 공부 | 수면 | 출석 | 결과 |
|---|
실시간 다수결(Voting) 시뮬레이터
수정하는 즉시 현재 구성된 숲의 나무들이 실시간으로 투표를 진행하여 최종 예측을 내립니다.