开始使用免费开始使用

首次尝试 bagging

您已经看到 bagging 集成在单次迭代中会发生什么。现在来构建一个自定义的 bagging 模型!

已为您准备了两个函数:

def build_decision_tree(X_train, y_train, random_state=None):
    # 有放回地抽样,
    # 构建一个「弱」决策树,
    # 并在训练集上进行拟合

def predict_voting(classifiers, X_test):
    # 生成各个模型的预测,
    # 然后使用「投票」进行合并

从技术上讲,build_decision_tree() 函数正是您在上一个练习中所做的。在这里,您将构建多个这样的树,然后将它们组合起来。让我们看看这个由「弱」模型组成的集成是否能提升性能!

本练习是课程的一部分

Python 中的集成方法

查看课程

练习说明

  • 通过调用 build_decision_tree() 构建各个模型,传入训练集,并将索引 i 作为随机种子。
  • 使用 predict_voting() 进行测试集标签预测,传入分类器列表 clf_list 和测试特征输入。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Build the list of individual models
clf_list = []
for i in range(21):
	weak_dt = ____
	clf_list.append(weak_dt)

# Predict on the test set
pred = ____

# Print the F1 score
print('F1 score: {:.3f}'.format(f1_score(y_test, pred)))
编辑并运行代码