첫 스태킹 앙상블 만들기

Python에서의 앙상블 기법

Román de las Heras

Data Scientist, Appodeal

scikit-learn으로 모델 스태킹

scikit-learn 스태킹 구현의 특징:

  1. scikit-learn은 스태킹 추정기를 제공합니다(버전 0.22부터)
  2. 다른 scikit-learn 추정기와 호환
  3. 최종 추정기는 교차 검증으로 학습
Python에서의 앙상블 기법

일반 절차

스태킹 아키텍처 단계

구현 일반 절차:

  1. 데이터셋 준비
  2. 1층 추정기 구성
  3. 예측값을 데이터셋에 추가
  4. 2층 메타 추정기 구성
  5. 스태킹 앙상블로 예측 수행
Python에서의 앙상블 기법

스태킹 분류기

from sklearn.ensemble import StackingClassifier
# 1층 분류기 인스턴스화
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# 2층 분류기 인스턴스화
clf_meta = ClassifierMeta(paramsMeta)
# 스태킹 분류기 구성
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# fit 및 predict 사용
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Python에서의 앙상블 기법

스태킹 회귀기

from sklearn.ensemble import StackingRegressor
# 1층 회귀기 인스턴스화
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# 2층 회귀기 인스턴스화
reg_meta = RegressorMeta(paramsMeta)
# 스태킹 회귀기 구성
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# fit 및 predict 사용
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Python에서의 앙상블 기법

이제 직접 해보세요!

Python에서의 앙상블 기법

Preparing Video For Download...