
스태킹(Stacking)은 개별적인 여러 알고리즘을 서로 결합해 예측 결과를 도출한다는 점에서 배깅 및 부스팅과 비슷합니다. 가장 큰 차이점은, 개별 모델이 예측한 데이터를 기반으로 다시 예측을 한다는 점입니다. 즉, 각 모델의 예측 결과를 모아 메타 데이터 세트를 만든 뒤, 별도의 모델로 해당 데이터 세트를 학습하고 최종 테스트 데이터에 대해 예측을 수행합니다. 스태킹 앙상블을 위해 개별적인 기반 모델들과, 메타 모델이 필요합니다. 스태킹 앙상블을 현실 문제에 적용하는 경우는 많지 않지만, 캐글과 같이 조금이라도 성능 수치를 높여야 하는 상황에서 자주 사용됩니다. 스태킹을 하려면 많은 개별 모델이 필요합니다. 2~3개의 개별 모델만으로는 예측 성능이 쉽게 향상되지 않으며, 스태킹 자체가 반드시 예측 성..

캐글 신용카드 사기 검출 분류 실습을 해봅시다. 해당 데이터 세트의 레이블인 "Class" 속성은 매우 불균형한 분포를 가집니다. 레이블 값은 0과 1로, 0이 정상이며 1이 사기 트랜잭션을 의미합니다. 전체 데이터의 0.172%만이 사기 트랜잭션 데이터입니다. 일반적으로 사기 검출이나 이상치 검출이 주제인 데이터 세트는 이처럼 레이블 분포가 극도로 불균형할 수 밖에 없습니다. 레이블 분포가 극도로 분균형할 경우 학습 후 예측 성능에 문제가 발생하는 경우가 많습니다. 이유는 당연히, 이상치 데이터가 정상 데이터에 비해 극도로 적기 때문입니다. 모델은 대부분의 경우 정상 데이터로 분류를 수행할 것입니다. 지도학습에서 이러한 문제를 해결하려면 적절한 학습 데이터를 확보해야 합니다. 대표적으로 오버 샘플링(O..

캐글의 산탄데르 고객 만족 데이터 세트를 XGBoost와 LightGBM로 학습하여 예측해보겠습니다. 산탄데르 고객 만족 데이터 세트의 370개의 피처를 기반으로 고객의 만족 여부를 예측하면 됩니다. 산탄데르 은행이 캐글에 경연을 의뢰한 데이터로서, 피처 이름은 익명 처리되어 있습니다. 레이블의 이름은 TARGET이며 0은 만족, 1은 불만족을 나타냅니다. 레이블의 분포가 불균형한 데이터 세트이므로, 모델의 예측 성능은 ROC-AUC(ROC 영역의 넓이)로 평가하겠습니다. 데이터 세트를 불러왔습니다. 레이블 칼럼을 포함하여 총 371개의 피처가 있고, 데이터는 76020개가 있습니다. 각 피처의 타입과 Null 값의 개수를 확인하겠습니다. 모든 칼럼은 int 혹은 float 자료형으로 별도의 레이블 인코..