co-code 님의 블로그
co-code
« 2026/08 »
| 일 |
월 |
화 |
수 |
목 |
금 |
토 |
| |
|
|
|
|
|
1 |
| 2 |
3 |
4 |
5 |
6 |
7 |
8 |
| 9 |
10 |
11 |
12 |
13 |
14 |
15 |
| 16 |
17 |
18 |
19 |
20 |
21 |
22 |
| 23 |
24 |
25 |
26 |
27 |
28 |
29 |
| 30 |
31 |
|
|
|
|
|
관리 메뉴
co-code 님의 블로그
앙상블(ensemble) 中 배깅(Bagging) 본문
python
앙상블(ensemble) 中 배깅(Bagging)
co-code
2026. 5. 15. 19:00
- 앙상블
- 단일 의사결정나무(DecisionTree)의 단점을 극복하기 위해 머신러닝 모델을 연결하여 더 강력한 모델을 만드는 과정
- 주어진 자료로부터 여러개의 예측 모델을 만든 후 예측 모형을 조합하여 하나의 예측 모형을 생성하는 과정
- 대표적인 기법 : 배깅, 부스팅, 랜덤 포레스트
- 배깅
- 주어진 자료를 모집단으로 간주하여 주어진 자료에서 여러개의 부트스트랩 자료를 생성하고 각각의 부트스트랩 자료에 예측 모델을 만든 후 결합하여 최종 모델 완성
- 장점
- 분산을 줄이고 과적합의 문제를 완화
- 안정적인 성능 보장
- 비선형 구조의 데이터와 노이즈 데이터에 대한 문제가 완화
- parameter(매개변수)
- estimator
- n_estimators
- max_samples
- 기본값 : 1.0
- 생성이 된 모델들이 사용할 데이터의 개수(인덱스의 수) 비율
- max_features
- 기본값 : 1.0
- 생성이 된 모델들이 사용할 피쳐(컬럼)의 수 비율
- oob_score
- 기본값 : False
- oob(Out-Of-Bag) 데이터로 일반화 성을 평가할 것인가?
- bootstrap
- 기본값 : True
- 샘플링 데이터를 이용시 중복 데이터를 허용
- False인 경우에는 각각의 모델들에 max_samples의 비율이 1.0이라면 모두 같은 데이터를 학습으로 사용 ( 다양성이 부족)
- bootstrap_features
- 기본값 : False
- 샘플링한 데이터를 이용 시 중복 컬럼을 허용할 것인가
- n_jobs
- 기본값 : None
- CPU의 병렬 처리 개수 (-1을 사용 시에는 모든 CPU를 사용)
- 속성
- estimators_ : 학습된 모델의 리스트
- estimators_samples_ : 각 모델이 학습한 샘플의 인덱스 (행의 위치)
- estimators_features_ : 각 모델이 학습한 컬럼의 인덱스 (열의 위치)
- oob_score_ : oob 데이터를 기반으로 정확도(분류) / R2(회귀)
- oob_decision_function : OOB 데이터의 클래스별 예측 확률
- 메서드
- fit_predict() : 학습 후에 예측 수행 (학습 데이터를 예측)