สร้าง stacked ensemble แรกของคุณ

Ensemble Methods ใน Python

Román de las Heras

Data Scientist, Appodeal

Stacking โมเดลด้วย scikit-learn

คุณสมบัติของการใช้งาน stacking จาก scikit-learn:

  1. scikit-learn มี stacking estimators ให้ใช้งาน (ตั้งแต่เวอร์ชัน 0.22)
  2. ใช้งานร่วมกับ estimators อื่นใน scikit-learn ได้
  3. final estimator ถูกฝึกผ่าน cross-validation
Ensemble Methods ใน Python

ขั้นตอนทั่วไป

ขั้นตอนสถาปัตยกรรม Stacking

ขั้นตอนทั่วไปในการใช้งาน:

  1. เตรียมชุดข้อมูล
  2. สร้าง estimators ชั้นแรก
  3. นำผลการพยากรณ์เพิ่มเข้าในชุดข้อมูล
  4. สร้าง meta estimator ชั้นที่สอง
  5. ใช้ stacked ensemble สำหรับการพยากรณ์
Ensemble Methods ใน Python

Stacking classifier

from sklearn.ensemble import StackingClassifier
# Instantiate the 1st-layer classifiers
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# Instantiate the 2nd-layer classifier
clf_meta = ClassifierMeta(paramsMeta)
# Build the Stacking classifier
clf_stack = StackingClassifier(
   estimators=classifiers,
   final_estimator=clf_meta,
   cv=5,
   stack_method='predict_proba',
   passthrough=False)
# Use the fit and predict methods
clf_stack.fit(X_train, y_train)
pred = clf_stack.predict(X_test)
Ensemble Methods ใน Python

Stacking regressor

from sklearn.ensemble import StackingRegressor
# Instantiate the 1st-layer regressors
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# Instantiate the 2nd-layer regressor
reg_meta = RegressorMeta(paramsMeta)
# Build the Stacking regressor
reg_stack = StackingRegressor(
   estimators=regressors,
   final_estimator=reg_meta,
   cv=5,
   passthrough=False)
# Use the fit and predict methods
reg_stack.fit(X_train, y_train)
pred = reg_stack.predict(X_test)
Ensemble Methods ใน Python

มาฝึกกันเถอะ!

Ensemble Methods ใน Python

Preparing Video For Download...