RandomizedSearchCV 对象
与 Scikit Learn 的 GridSearchCV 类似,RandomizedSearchCV 提供了许多有用功能,帮助您高效地进行随机搜索。您将创建一个 RandomizedSearchCV 对象,并在 GridSearchCV 的基础上做出所需的小调整。
需要设置的选项:
- 默认的梯度提升分类器(Gradient Boosting Classifier)估计器
- 5 折交叉验证
- 使用 accuracy 作为模型评分指标
- 并行使用 4 个内核进行处理
- 重新拟合最佳模型并返回训练得分
- 随机抽样 10 组超参数组合进行评估
超参数空间应包括 learning_rate(在 0.1 到 2 之间等间隔取 150 个值)以及 min_samples_leaf(20 到 64 的所有整数值,包含端点)。
您将可以使用 X_train 和 y_train 数据集。
本练习是课程的一部分
Python 中的超参数调优
练习说明
- 按上述要求创建超参数搜索空间。
- 按上述要求创建一个
RandomizedSearchCV对象。 - 将
RandomizedSearchCV对象拟合到训练数据。 - 打印模型过程为两个超参数所选择的取值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Create the parameter grid
param_grid = {'learning_rate': np.linspace(____,____,150), 'min_samples_leaf': list(range(____,65))}
# Create a random search object
random_GBM_class = ____(
estimator = ____,
____ = param_grid,
____ = 10,
scoring='____', n_jobs=____, cv = ____, refit=____, return_train_score = ____)
# Fit to the training data
random_GBM_class.fit(____, ____)
# Print the values used for both hyperparameters
print(random_GBM_class.____['param_learning_rate'])
print(random_GBM_class.cv_results_['____'])