스태킹 앙상블 스태킹이 배깅, 부스팅과 다른 가장 큰 차이점은 개별 알고리즘으로 예측한 데이터를 기반으로 다시 예측을 수행한다는 것 즉, 결과데이터셋을 최종 메타 데이터셋으로 만들어 별도의 알고리즘으로 최종 학습을 수행하고 테스트셋을 기반으로 다시 최종 예측을 수행하는 방식 메타 모델: 개별 모델의 예측된 데이터셋을 다시 기반으로 하여 학습, 예측하는 방식 필요한 모델 2가지: 1. 개별적인 기반 모델 2. 최종 메타 모델 핵심은 >> 여러 개별 모델의 예측 데이터들을 스태킹 형태로 결합해 최종 메타 모델의 학습용 피처데이터, 테스트용 피처데이터를 만드는것 메타 모델용 학습데이터로 사용됨 ③ 학습된 개별 모델들은 원본 테스트데이터를 예측하여 예측값 생성, 이런 로직을 3번 반복하면서 예측값의 평균을 냄,..
캐글 신용카드 사기 검출 https://www.kaggle.com/datasets/mlg-ulb/creditcardfraud 이 데이터셋의 레이블 class 속성은 매우 불균형한 분포를 가짐 class는 0이 정상 거래, 1이 사기 거래 전체 데이터의 0.172%만이 사기 거래인 1임 언더 샘플링과 오버 샘플링의 이해 이상 레이블보다 정상 레이블 수가 매우 많이 때문에 일방적으로 정상 레이블로 치우친 학습을 수행하게돼서 이상 데이터 검출이 어려움 오버 샘플링(Oversampling) >> 더 많이 사용 적은 데이터셋을 증식시키는 것, 동일한 데이터를 단순히 증식시키면 과적합 위험이 있으므로 피처값을 약간만 변형시켜서 증식시킴 SMOTE: 적은 데이터셋의 개별 데이터들의 K최근접 이웃을 찾아서 해당 데이터..
Kaggle 산탄데르 고객 만족 예측(Santander Customer Satisfaction) XGBoost와 LightGBM을 활용해서 예측해보자 산탄데르 은행이 주최한 경연이라 피처 이름은 익명 처리되어있음 레이블값이 1이면 불만 가진 고객, 0이면 만족한 고객 모델 성능 평가는 roc-auc로 평가 https://www.kaggle.com/competitions/santander-customer-satisfaction/data 데이터 전처리 In [3]: import numpy as np import pandas as pd import matplotlib.pyplot as plt import warnings warnings.filterwarnings('ignore') cust_df = pd.rea..
베이지안 최적화 기반의 HyperOpt를 이용한 하이퍼 파라미터 튜닝 GridSearch 방식은 파라미터 개수가 많을수록 시간이 오래 걸리는게 단점이다 XGBoost나 LightGBM은 성능은 뛰어나지만 파라미터 개수가 너무 많아서 대용량 데이터에 쓸 때 시간이 많이 걸린다 LightGBM에 6가지 하이퍼 파라미터를 적용하려고 해보자 max_depth=[10, 20, 30, 40, 50] num_leaves=4 subsample=5 min_child_weight=4 colsample_bytree=5 reg_alpha=3 인 경우 GridSearch는 6000회를 반복해야함 따라서 실무의 대용량 데이터에는 베이지안 최적화 기법을 사용함 베이지안 최적화 목적 함수 식을 제대로 모르는 블랙 박스 형태의 함수에..
LightGBM XGBoost와 함께 부스팅 알고리즘 중 가장 각광 받고있음 XGBoost는 GBM보다는 수행 시간이 빠르지만 대용량 데이터의 경우 시간이 많이 소요됌 LightGBM의 가장 큰 장점은 메모리 사용량이 상대적으로 적고 XGBoost보다 학습 시간이 훨씬 적지만 예측 성능은 별다른 차이가 없다는 것 기능 다양성도 LightGBM이 약간 더 많음 한 가지 단점은 작은 데이터셋에 적용할 경우 과적합이 발생하기 쉽다는 것(일반적으로 10,000건 이하의 데이터셋) 리프 중심 트리 분할 방식 사용최대손실값을 가지는 리프 노드를 지속적으로 분할하면서 트리의 깊이가 깊어지고 비대칭적 규칙 트리가 생성되지만 학습을 반복할수록 결국 균형 트리 분할 방식보다 예측 오류 손실을 최소화할 수 있음 균형 잡힌 ..
2023.05.29 - [DS/ML] - [sklearn] (23) - XGBoost (eXtra Gradient Boost) [sklearn] (23) - XGBoost (eXtra Gradient Boost) XGBoost(eXtra Gradient Boost) 기존 GBM보다 빠르게 학습을 완료할 수 있음 분류, 회귀에서 뛰어난 예측 성능을 보임 XGBoost는 자체에 과적합 규제 기능이 있어서 강한 내구성을 가짐 tree_pruning(가지치기) jaayy.tistory.com 사이킷런 래퍼 XGBoost의 개요 및 적용 XGBClassifier는 기존 사이킷런에서 일반적으로 사용하는 하이퍼 파라미터와 호환성을 유지하기 위해 기존의 xgboost 모듈에서 사용하던 하이퍼 파라미터 몇개를 변경함 e..