开始使用免费开始使用

网格搜索

sklearn 中,您可以通过提供不同的输入参数来进行超参数调优,其中每个参数都可以借助 numpy 的函数来编码。一种穷举查看由 param_grid 指定的所有超参数组合的方法称为网格搜索。在本练习中,您将使用网格搜索来遍历示例随机森林分类器的超参数,并以 ROC 曲线的 AUC 作为评分函数。

X_trainy_trainX_testy_test 已在您的工作区中可用。pandas 作为 pdnumpy 作为 np,以及 sklearn 也已可用。此外,来自 sklearn.model_selectionGridSearchCV() 也可用。

本练习是课程的一部分

用 Python 预测 CTR 的机器学习实战

查看课程

练习说明

  • n_estimatorsmax_depth 中的每个超参数创建取值列表。
  • 创建一个随机森林分类器。
  • 设置网格搜索以遍历所有超参数组合。
  • 使用 .best_score_ 打印最佳 AUC 分数,并使用 .best_estimator_ 打印得到该分数的最佳估计器。

交互式实操练习

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

# Create list of hyperparameters 
n_estimators = [10, 50]
max_depth = [5, 20]
param_grid = {'n_estimators': ____, 'max_depth': ____}

# Use Grid search CV to find best parameters 
print("starting RF grid search.. ")
rf = ____()
clf = ____(estimator = rf, param_grid = ____, scoring = 'roc_auc')
clf.fit(X_train, y_train)
print("Best Score: ")
print(clf.____)
print("Best Estimator: ")
print(clf.____)
编辑并运行代码