构建你的第一个堆叠集成

Python 中的集成方法

Román de las Heras

Data Scientist, Appodeal

用 scikit-learn 堆叠模型

scikit-learn 堆叠实现要点:

  1. scikit-learn 自 0.22 起提供堆叠估计器
  2. 与其他 scikit-learn 估计器兼容
  3. 最终估计器通过交叉验证训练
Python 中的集成方法

通用步骤

堆叠体系结构步骤.png

通用实现步骤:

  1. 准备数据集
  2. 构建第一层估计器
  3. 将预测追加到数据集
  4. 构建第二层元估计器
  5. 用堆叠集成进行预测
Python 中的集成方法

堆叠分类器

from sklearn.ensemble import StackingClassifier
# 实例化第一层分类器
classifiers = [
    ('clf1', Classifier1(params1)),
    ('clf2', Classifier2(params2)),
    ...
    ('clfN', ClassifierN(paramsN))
]
# 实例化第二层分类器
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
# 实例化第一层回归器
regressors = [
    ('reg1', Regressor1(params1)),
    ('reg2', Regressor2(params2)),
    ...
    ('regN', RegressorN(paramsN))    
]
# 实例化第二层回归器
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...