网格搜索
回顾一下,我们在上一课中已经创建了一个基线的梯度提升模型。现在的目标是为该梯度提升模型找到最优的 max_depth 超参数取值。这个超参数限制了每棵基学习器(树)的节点数量。您将使用 K 折交叉验证来度量每个超参数取值下模型的本地表现。
已提供函数 get_cv_score(),它接收训练数据集和模型参数字典作为参数,并在 3 折交叉验证下返回整体验证 RMSE 分数。
本练习是课程的一部分
用 Python 赢下 Kaggle 竞赛
练习说明
- 为可能的
max_depth取值指定网格:3、6、9、12、15。 - 将网格中的每个超参数候选值传入模型的
params字典中。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Possible max depth values
max_depth_grid = [____]
results = {}
# For each value in the grid
for max_depth_candidate in max_depth_grid:
# Specify parameters for the model
params = {'max_depth': ____}
# Calculate validation score for a particular hyperparameter
validation_score = get_cv_score(train, params)
# Save the results for each max depth value
results[max_depth_candidate] = validation_score
print(results)