开始使用免费开始使用

网格搜索

回顾一下,我们在上一课中已经创建了一个基线的梯度提升模型。现在的目标是为该梯度提升模型找到最优的 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)
编辑并运行代码