开始使用免费开始使用

随机搜索

# Call GridSearchCV
grid_search = GridSearchCV(clf, param_grid)

# Fit the model
grid_search.fit(X, y)

在上一个练习的这段代码中,您也许注意到:第一行代码几乎不耗时,而对 .fit() 的调用需要执行数秒。

这是因为 .fit() 才是真正执行网格搜索的步骤。在我们的例子中,网格包含了许多不同的组合。随着超参数网格变大,网格搜索会变得更慢。为了解决这个问题,我们可以不再尝试每一种取值组合,而是随机地在网格中跳转并尝试不同组合。这样有一小部分可能会错过性能最好的组合,但可以节省大量时间,或者在相同时间内调更多的超参数。

在 scikit-learn 中,您可以使用 RandomizedSearchCV 来实现。它与 GridSearchCV 的 API 相同,不同之处在于您需要指定一个参数分布(distribution),从中进行采样,而不是给出具体的超参数取值。现在就来试试吧!参数分布已经为您准备好,同时还提供了一个名为 clf 的随机森林分类器。

本练习是课程的一部分

营销分析:用 Python 预测客户流失

查看课程

交互式实操练习

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

# Import RandomizedSearchCV
编辑并运行代码