Decision Tree는 주어진 피처에 대해서 결정 규칙을 생성하는 알고리즘입니다.
모델이 한개이며 이는 구조가 단순하여 일반화하는데는 단일 모델로서 과적합 가능성이 높습니다.
Ensemble 기법은 여러개의 모델을 결합해 성능을 향상 시키는 모델로서 주로 Decision Tree 모델을 결합합니다. 하지만 Ensemble 모델에서는 여러개의 모델을 결합해야하기 때문에 모델의 다양성을 보장하는지와 개별 모델의 취합하는 방법을 고려해야 합니다.
모든 데이터셋에서 좋은 성능을 추출하는 단일 모델은 없습니다. 그러기 때문에 다수의 모델을 조합하기만 한더면 개별적인 알고리즘이 가진 장점과 단점을 보완할 수 있습니다.
https://mathchi.medium.com/what-is-the-boosting-ensemble-method-76610a5cb39f
1) Bagging: 여러개의 Decision Tree를 학습시킵니다. 결과값을 평균 또는 다수결 방식으로 결정하여 최종적으로 예측값을 도출합니다. Bootstrap Aggregation 의 약자로 다르게 샘플링한 데이터로 각각 다른 모델을 학습시킵니다.
대표 알고리즘: Random Forest
2) Boosting: Weak Learner_약한 학습기를 순차적으로 학습시킵니다. 이전 모데링 잘못 예측한 데이터에 가중치를 무여합니다. 모델을 순차적으로 학습시키기 때문에 이전 모델의 약점을 해결하여 성능을 높힐 수 있습니다.
대표 알고리즘: AdaBoost, Gradient Boosting (XGBoost, LightBGM, CatBoost 등)
3) Stacking: Decision Tree 모델 뿐 아니라 다양한 알고리즘을 결합하여 최종 모델을 학습합니다. 상위 레벨에서 하위 모델들의 결과를 학습하여 최종 예측값을 생성합니다.
proc surveyselect data=sashelp.iris out=baggingtest1 seed=12345
method=urs samprate=1 rep=5;
run;
proc hpforest data=baggingtest1 seed=12345;
target species;
input SepalLength SepalWidth PetalLength PetalWidth / level=interval;
ods output FitStatistics=FitStats;
run;
proc print data=FitStats;
run;
PROC SURVEYSELECT: 부트스트랩 샘플을 생성해서 Method = urs 로 비복원 추출을 사용했습니다.
샘플링 비율을 100% 로 데이터 셋 전체를 샘플링을 합니다. 5개의 부트스트랩 생성합니다.
PROC HPFOREST: 랜덤 포레스트 모델을 학습시킵니다. 난수 생성 시드 12345를 설정합니다.
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!