녕하세요. 이번에 다룰 내용은 스태킹(stacked ensemble) 입니다.
스태킹 소개(introduction)
앙상블 모델은 일반적으로 여러 하위 모델의 예측을 결합하여 예측 정확도를 높이는 데 사용됩니다. 스태킹은 좀 더 향상된 앙상블 방법으로, 하위 모델들의 예측을 두 번째 수준의 입력변수로 사용하여 최적의 결합을 찾아내는 모델입니다.
아래의 사진은 이해를 돕기 위해 간단한 그림으로 스태킹의 과정을 나타낸 것입니다.
앙상블이 이루어지는 과정은 하위 모델들의 예측결과들을 투표하는 방식으로 최종 예측을 하는 투표 접근법과
하위 모델들의 사후 확률을 결합하는 평균화 방법이 있는데, 평균화를 할 때 가중치가 없는 단순평균 앙상블과
모델마다 각각의 가중치를 가지는 가중평균 앙상블이 있습니다.
sas E-miner의 앙상블 노드를 그대로 사용할 경우 단순평균 앙상블이 구현됩니다.
하지만 스태킹을 활용한다면 회귀모형, 신경망, 의사결정나무 등의 모델을 통해 하위모델들의 가중치를 계산하여 단순 평균 앙상블모델 보다 예측력이 향상된 가중 평균 모델을 만들 수도 있습니다.
모델링(modeling)
데이터는 일반적으로 많이 쓰이는 HMEQ (Home Equity) data set을 사용하였고 Target변수는 대출의 상환여부를 나타내는 변수인 Bad로 지정하였습니다.
그리고 데이터 분할 노드를 통해 학습용 데이터 80%, 평가용 데이터 20%로 데이터를 분할하였습니다.
앙상블의 하위 모델로 쓰이는 예측 모델로는 hidden neuron의 수를 10개, 15개로 지정한 HP신경망 모델 두 개, 회귀모형을 통해 양방향 상호작용을 계산하여 입력변수로 사용하고 두 개의 층이 있는 HP신경망 모델, 분류기준이 각각 엔트로피지수와 카이제곱검정통계량을 사용한 HP트리 모델 두개, 최대 트리 개수가 100개인 HP포레스트 모델, default로 설정한 로지스틱 회귀모델, 그래디언트 부스팅 모델, SVM모델을 사용하였습니다.
하위 모델들을 앙상블노드에 연결하여 단순 평균 앙상블 모델을 만들었습니다. Stacked ensemble을 구현하기 위해 가중치를 계산해줄 예측모형들을 다시 연결했습니다. HP회귀노드, 결정나무노드, HP신경망노드, HP포레스트노드에 연결하였습니다. 마지막으로 각 Stacked ensemble 모델과 앞서 모델링 했던 하위 예측모델, 그리고 단순 평균을 사용하는 앙상블 노드를 모델비교 노드에 연결 하여 모델들의 성능을 알아보았습니다.
성능 확인(confirmation)
모델비교 노드를 실행한 결과입니다. 기존의 단순평균 앙상블보다 향상된 예측을 하는 두 개(Stacked HP신경망, Stacked HP회귀모형)의 Stacked ensemble이 만들어 진 것을 확인 할 수 있습니다. 하지만 나머지 두 개의 Stacked ensemble은 예측력이 낮아 졌고, 이를 통해 반드시 모든 스태킹모델이 보다 향상된 예측력은 가지지는 않는 다는 것을 알 수 있습니다.
Reference
https://support.sas.com/resources/papers/proceedings16/SAS3120-2016.pdf
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!