Python에서의 앙상블 기법
Román de las Heras
Data Scientist, Appodeal
이기종 앙상블 함수
het_est = HeterogeneousEnsemble(
estimators=[('est1', est1), ('est2', est2), ...],
# additional parameters
)
동종 앙상블 함수
hom_est = HomogeneousEnsemble(
est_base,
n_estimators=chosen_number,
# additional parameters
)
Bagging 분류기 예시:
# 기본 추정기(약한 모델) 생성
clf_dt = DecisionTreeClassifier(max_depth=3)
# 추정기 5개로 Bagging 분류기 구성
clf_bag = BaggingClassifier(
clf_dt,
n_estimators=5
)
# 학습 세트에 적합
clf_bag.fit(X_train, y_train)
# 테스트 세트 예측
y_pred = clf_bag.predict(X_test)
Bagging 회귀기 예시:
# 기본 추정기(약한 모델) 생성
reg_lr = LinearRegression()
# 추정기 10개로 Bagging 회귀기 구성
reg_bag = BaggingRegressor(
reg_lr
)
# 학습 세트에 적합
reg_bag.fit(X_train, y_train)
# 테스트 세트 예측
y_pred = reg_bag.predict(X_test)
clf_bag = BaggingClassifier(
clf_dt,
oob_score=True
)
clf_bag.fit(X_train, y_train)
print(clf_bag.oob_score_)
0.9328125
pred = clf_bag.predict(X_test)
print(accuracy_score(y_test, pred))
0.9625
Python에서의 앙상블 기법