BaggingClassifier:要点

Python 中的集成方法

Román de las Heras

Data Scientist, Appodeal

异质 vs 同质函数

异质集成函数

het_est = HeterogeneousEnsemble(
    estimators=[('est1', est1), ('est2', est2), ...],
    # additional parameters
)

同质集成函数

hom_est = HomogeneousEnsemble(
    est_base,
    n_estimators=chosen_number,
    # additional parameters
)
Python 中的集成方法

BaggingClassifier

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)
Python 中的集成方法

BaggingRegressor

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)
Python 中的集成方法

袋外分数(Out-of-bag)

  • 对每个样本为袋外的基学习器计算单独预测
  • 合并各基学习器的预测
  • 在这些预测上评估指标:
    • 分类:accuracy(准确率)
    • 回归:R^2
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 中的集成方法

现在轮到您了!

Python 中的集成方法

Preparing Video For Download...