Python에서의 앙상블 기법
Román de las Heras
Data Scientist, Appodeal
scikit-learn 스태킹 구현의 특징:
scikit-learn은 스태킹 추정기를 제공합니다(버전 0.22부터)scikit-learn 추정기와 호환
구현 일반 절차:
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)
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에서의 앙상블 기법