开始使用免费开始使用

调优 max_depth

在本练习中,您的任务是调优 max_depth。该参数决定了在一次提升轮次中每棵树可以生长的最大深度。较小的取值会得到更浅的树,较大的取值会得到更深的树。

本练习是课程的一部分

使用 XGBoost 的极端梯度提升

查看课程

练习说明

  • 创建名为 max_depths 的列表,保存以下 "max_depth" 取值:251020
  • 使用 for 循环遍历 max_depths 列表。
  • for 循环的每次迭代中系统地改变 "max_depth",并执行 2 折交叉验证,设置提前停止(5 轮)、10 个提升轮次、评估指标为 "rmse",以及 seed123。确保输出为一个 DataFrame。

交互式实操练习

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

# Create your housing DMatrix
housing_dmatrix = xgb.DMatrix(data=X,label=y)

# Create the parameter dictionary
params = {"objective":"reg:squarederror"}

# Create list of max_depth values
max_depths = ____
best_rmse = []

# Systematically vary the max_depth
for curr_val in ____:

    params["____"] = ____
    
    # Perform cross-validation
    cv_results = ____
    
    
    
    # Append the final round rmse to best_rmse
    best_rmse.append(cv_results["test-rmse-mean"].tail().values[-1])

# Print the resultant DataFrame
print(pd.DataFrame(list(zip(max_depths, best_rmse)),columns=["max_depth","best_rmse"]))
编辑并运行代码