Xây dựng stacked ensemble đầu tiên

Ensemble Methods in Python

Román de las Heras

Data Scientist, Appodeal

Stacking với scikit-learn

Một số đặc điểm của stacking trong scikit-learn:

  1. scikit-learn hỗ trợ stacking (từ phiên bản 0.22)
  2. Tương thích với các estimator khác của scikit-learn
  3. Estimator cuối được huấn luyện qua cross-validation
Ensemble Methods in Python

Các bước chung

Các bước kiến trúc Stacking

Các bước triển khai chung:

  1. Chuẩn bị dữ liệu
  2. Xây bộ ước lượng tầng 1
  3. Gắn dự đoán vào dữ liệu
  4. Xây meta-estimator tầng 2
  5. Dùng ensemble đã stack để dự đoán
Ensemble Methods in Python

Stacking classifier

from sklearn.ensemble import StackingClassifier
# Khởi tạo các classifier tầng 1
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# Khởi tạo classifier tầng 2
clf_meta = ClassifierMeta(paramsMeta)
# Xây Stacking classifier
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# Gọi fit và predict
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Ensemble Methods in Python

Stacking regressor

from sklearn.ensemble import StackingRegressor
# Khởi tạo các regressor tầng 1
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# Khởi tạo regressor tầng 2
reg_meta = RegressorMeta(paramsMeta)
# Xây Stacking regressor
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# Gọi fit và predict
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Ensemble Methods in Python

Đến lượt bạn!

Ensemble Methods in Python

Preparing Video For Download...