首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >超参数搜索

超参数搜索
EN

Data Science用户
提问于 2022-06-29 17:08:35
回答 4查看 59关注 0票数 2

假设我有一个包含30个属性的数据集,所有这些属性对我的预测都至关重要,数据集包含500 K行。我想在网格中搜索XGB模型的最佳超参数。我怎样才能加快超参数搜索的时间,因为找到最佳参数需要很长时间。数据子集有用吗?

EN

回答 4

Data Science用户

发布于 2022-06-30 07:48:07

首先,您可以在一组较小的随机行上优化您的函数,以减少计算时间。

然后,你可以优化他们在第一轮,而不是整个数量的回合。一般说来,在第一轮中效果好的,对其他几轮都很好。

但是,我建议在最后的几个场景中对完整的回合和数据集进行测试,以确保它实际上是一个很好的最佳设置。

最后,使用快速GPU。如果它们太贵,像纸空间这样的云服务就有好的。

票数 2
EN

Data Science用户

发布于 2022-06-30 08:10:20

您可以使用sklearn GridSearchCV,它有一个名为n_jobs的参数,并根据文档

n_jobs : int,要并行运行的default=None作业数。除非在joblib.parallel_backend上下文中,否则没有1的意思。-1指使用所有处理器。有关详细信息,请参阅术语表。

因此,通过设置n_jobs=-1,您将同时运行多个实验,获得最佳超参数的总时间将减少。

然而,有更好的技术比网格搜索,例如,贝叶斯优化。通过贝叶斯优化,可以让过去几轮的信息指导寻找最佳的超参数,因此,与网格搜索相比,迭代次数少可以获得更好的结果。Optuna是一个python库,它允许您进行贝叶斯优化,还允许您进行很容易并行化调优

票数 2
EN

Data Science用户

发布于 2022-06-30 09:04:42

票数 1
EN
页面原文内容由Data Science提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://datascience.stackexchange.com/questions/112243

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档