首次尝试 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)))