开始使用免费开始使用

设置 GridSearch 的参数

超参数是函数内部使用的参数。例如,max_depthmin_samples_leafDecisionTreeClassifier() 函数的超参数。超参数调优是指测试不同的超参数取值,以找到最优的那组:也就是在您的目标下能给出最佳预测的取值。在 sklearn 中,您可以使用 GridSearch 来测试不同的超参数组合。更进一步,您可以使用 GridSearchCV() 在一个函数中同时测试不同组合并执行交叉验证!

在本练习中,您将准备要用于测试的 max_depthmin_samples_leaf 的不同取值。随后,您会把这些值放入一个字典中,因为 GridSearchCV() 需要这样传参:

  • 字典的键是超参数名称
  • 字典的值是您想要测试的属性(超参数取值)

为了避免手动逐一列出,您将使用 range() 函数,它可以按步长生成一系列数值。例如,range(1, 10, 2) 会生成一个列表,包含从 1(包含)到 10(不包含),步长为 2 的数值。最终结果是 [1, 3, 5, 7, 9]

本练习是课程的一部分

HR Analytics:用 Python 预测员工流失

查看课程

练习说明

  • 参考上面的示例格式,生成最大深度从 5 到 20、步长为 1 的取值
  • 用同样的方法,生成最小样本数从 50 到 450、步长为 50 的取值
  • 使用刚创建的变量,指定要尝试的 max_depthmin_samples_leaf 的取值,创建对应的字典

交互式实操练习

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

# Generate values for maximum depth
depth = [i for i in ____(5,21,1)]

# Generate values for minimum sample size
samples = [i for i in range(____,500,____)]

# Create the dictionary with parameters to be checked
parameters = dict(max_depth=depth, min_samples_leaf=____)
编辑并运行代码