在RandomizedSearchCV中定义对数均匀分布的learning_rate参数

我在进行超参数调优,使用scikit-optimize进行贝叶斯优化,并使用RandomizedSearchCV进行随机搜索。

在sci-kit optimize中,我可以轻松地这样定义learning_rate

space= [Real(10**-5, 10**0, "log-uniform", name='learning_rate'),        Integer(1, 20, name='max_depth'),        ...       ]

我想知道如何在RandomizedSearchCV(sklearn)中实现同样的“列表”值用于优化?

params_randomSearch = {              "learning_rate" : TODO,              "min_samples_leaf": np.arange(1,30,1),              ..              }

回答:

根据RandomizedSearchCV()的文档

param_distributions : dict

字典,键为参数名称(字符串),值为要尝试的分布或参数列表。分布必须提供rvs方法用于抽样(如scipy.stats.distributions中的那些)。如果给定的是列表,则会均匀抽样。

现在,scikit-optimize中的RealInteger已经实现了rvs()方法,因此你可以直接使用它们。只需在要用于RandomizedSearchCV的字典中分配它们即可。

params_randomSearch = {      "learning_rate" : Real(10**-5, 10**0, "log-uniform", name='learning_rate'),      "min_samples_leaf": np.arange(1,30,1),              ..              }

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注