스태킹 알고리즘은 여러 모델들을 활용해 각각의 예측 결과를 도출한 뒤 그 예측 결과를 최종 모델의 학습 데이터로 사용하여 최종 예측 결과를 만들어내는 것을 말합니다. 스태킹 알고리즘에는 총 2가지 단계가 있습니다.
(단계1) 먼저 n 개의 모델로 학습 데이터로 학습 모델을 생성합니다.(단계2) n 개의 모델에서 학습을 마친 뒤 예측한 값들을 합쳐서 최종 예측을 진행합니다.
따라서 우리는 모델을 설계할 때, 단계1에서 사용할 여러가지 모델들과 단계1의 결과를 취합한 뒤 결과를 도출할 단계 2의 마지막 모델을 뭘로 할지 정해야 합니다. 단, 단계1에서 사용할 여러가지 모델들은 (voting classifer와 동일하게) 비슷한 알고리즘이 아닌 기반이 다른 알고리즘을 적용하는 것이 효과적
입니다.
스태킹은 단일 모델로 분석했을 때보다 성능이 확실히 향상되며 정확도를 높일 때 주로 사용합니다. 하지만 스태킹은 두 단계 (1. n개의 모델생성 2. n개의 모델 결과로 메타 학습) 을 거치며, 시간이 많이 소요되고 학습데이터에 과적합(overfitting)된다는 단점이 있어서 실제로 기업에서는 잘 사용하지 않는다고 합니다. 또한 과적합으로 인해 학습데이터와 도메인이 다르거나 분산이 다른 데이터가 들어오게 된다면 모델의 예측, 분류 성능은 현저히 떨어지게 됩니다. 이를 보완하기 위해 2번째 단계에서 교차 검증 과정을 추가하는 방법이 있는데, 바로 CV(cross validation) 세트기반 스태킹
입니다.CV 세트기반 스태킹은 스태킹 학습 과정에 교차 검증(Cross validation)을 추가한 것으로, 첫 번째 단계에서 각각의 모델에 대해 교차 검증을 적용합니다.
메타 모델 구조도 예시
교차검증(Cross Validation)Training set과 Validation을 여러번 나눈 뒤 모델의 학습을 검증하는 방식
: 모든 데이터 셋을 평가에 활용하기 때문에 데이터셋이 부족할 때 적용하는 방법으로 K개의 성능 결과를 통합하여 하나의 결과를 도출하기 때문에 보다 일반화된 모델 성능 평가 가능해진다.https://huidea.tistory.com/30?category=879541
sklearn에서 제공해주는 cancer데이터 활용https://lsjsj92.tistory.com/558
CV 세트기반 스태킹 코드https://huidea.tistory.com/35