Note
스태킹 앙상블 본문
(1) Basic 스태킹 모델
스태킹 앙상블이란 각각의 알고리즘 기법들을 활용하여 각각 예측을 진행하고 최종적인 스태킹 모델에 합쳐서 다시 예측을 하는 기법이다.
필요한 라이브러리를 임포트하고 위스콘신 유방암 데이터를 로드한다.
학습 데이터와 테스트 데이터를 나눈다.
knn 기법, 랜덤 포레스트, 의사 결정 나무, 에이다부스트 4가지 기법에 대해서 각각 객체를 생성하고, 최종 예측을 위한 스태킹 모델 객체도 생성해준다.
각각 알고리즘 기법들에 대해서 학습을 시키고 예측한 정확도들을 확인할 수 있다.
각 알고리즘을 통해 예측한 것을 pred라는 객체에 다시 저장하고 transpose를 이용해 행과 열의 위치 바꿔 각 알고리즘의 예측 결과를 feature로 만든다.
최종 스태킹 모델을 학습시키고 예측 정확도를 알 수 있다.
(2) CV 기반의 스태킹 모델
개별적으로 교차검증을 기반으로 학습/테스트를 시행하고 그 결과를 다시 합쳐 메타모델로 만들어 학습/테스트를 나누어 예측하는 모델을 만든다.
개별 기반 모델에서 최종 메타 모델이 사용할 학습 및 테스트용 데이터를 생성하기 위한 함수를 지정해준다. 지정된 n_folds값으로 KFold 생성한다. 교차검증을 위해 데이터 셋 비율을 결정한다고 생각하면 이해하기 쉽다. train_fold_pred는 최종 메타 모델이 사용하는 학습 데이터, test_pred_mean은 테스트 데이터이다.
각각의 모델들에 대해서 7번 교차 검증을 시행한다.
각각 알고리즘 학습/테스트 데이터들을 합쳐서 CV 기반 스태킹 모델 학습/테스트 데이터를 생성해준다.
최종 만들어진 모델의 예측 정확도를 출력한 모습이다.
'Machine Learning > Classification' 카테고리의 다른 글
부스팅(Boosting) - LightGBM (0) | 2021.05.25 |
---|---|
부스팅(Boosting) - XGBoost ( eXtra Gradient Boost ) (0) | 2021.05.25 |
부스팅(Boosting) - GBM ( Gradient Boosting ) (2) | 2021.05.25 |
배깅 (Bagging) - 랜덤 포레스트(Random Forest) (0) | 2021.05.25 |
보팅 (Voting) (0) | 2021.05.24 |