如何使用GridSearchCV(python)最大化或最小化带有参数的函数?

安德鲁·金尼斯

我想最大化一个功能:func(minCount, wordNgrams, lr, epoch, loss)仅对这些值使用GridSearch:

`{'minCount': [2, 3],
'wordNgrams': [1, 2, 3, 4, 5],
'lr': [0.1, 0.01, 0.001, 0.0001],
'epoch': [5, 10, 15, 20, 25, 30],
'loss': [hs, ns, softmax]}`

我已经读过,sklearn.model_selection.GridSearchCV(estimator, param_grid, ...)但是,我不知道我应该放在哪里func(minCount, wordNgrams, lr, epoch, loss)

顺便说一句,我已经阅读了贝叶斯优化(https://github.com/fmfn/BayesianOptimization),但是对如何与stringandint参数一起使用却一无所知。

什么

根据文档,您有两种解决方案:

  • 您可以将estimator = func传递给GridSearchCV,但还需要传递一个计分函数评分功能将获取func的输出,并返回GridSearchCV将寻求优化的得分(浮点数)。例:
def my_scoring_function(func_outputs):

  """
  process the outputs of func and return a score. 

  if func already reutrns the value you want to minimize, 
  my_scoring_function will be the identity function.

  score is the value to optimize
  """

  return score


cv = GridSearchCV(estimator=func, param_grid=my_param_grid, scoring=my_scoring_function)


  • 更复杂,但是更优雅:您可以将func重写为实现scikit-learn的estimator方法的对象(此处是带有gid搜索示例的好教程)。这意味着基本上将遵循一组约定,这些约定将使您的函数像scikit-learn的对象一样工作。GridSearchCV然后将知道如何处理它。但是,这对于您的问题而言可能是过大了。


关于贝叶斯优化,如果您的问题满足以下条件,这将很有趣:

  • 评估功能的成本非常高(就时间/资源而言),并且您负担不起网格搜索所需的多次调用。在您的情况下,您需要探索720个参数组合,因此,如果一个评估的成本为10s,则必须对7200s运行网格搜索。
  • 您想探索更广阔的参数空间,或者要在连续空间中搜索某些参数。通常,对于学习率来说可能很有趣。在这种情况下,您还可以使用随机搜索,也可以在scikit learning中实现

有关贝叶斯优化的更多详细信息,建议您阅读这篇非常全面的文章

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何最小化启动程序,并最大化还原?

来自分类Dev

R:在lpSolveAPI中,如何将目标函数从最小化更改为最大化?

来自分类Dev

如何使用递归最大化和最小化数学表达式?

来自分类Dev

你如何使用 CSS 为我的网站制作最小化、最大化和关闭按钮

来自分类Dev

最小化盒子和最大化对象的算法

来自分类Dev

删除最小化和最大化按钮

来自分类Dev

什么事件用于最大化/最小化?

来自分类Dev

卸下意见最小化/最大化按钮

来自分类Dev

或工具最大化/最小化OR / XOR

来自分类Dev

FVWM的Windows按钮(最大化最小化...),主题

来自分类Dev

WPF最小化和最大化

来自分类Dev

最小化和最大化<div>

来自分类Dev

最小化最大化窗口后偏移鼠标

来自分类Dev

最小化最大化不起作用

来自分类Dev

自定义最大化、最小化按钮

来自分类Dev

jQuery UI可排序,具有最小化和最大化

来自分类Dev

最大化具有许多参数的函数(python)

来自分类Dev

如何在Ubuntu 18.04中删除最小化,最大化和关闭按钮?

来自分类Dev

如何最大化,最小化和使uib模式可拖动?

来自分类Dev

如何检测另一个过程的窗口是最小化还是最大化?

来自分类Dev

如何从终端关闭,最小化和最大化指定窗口?

来自分类Dev

如何在Gnome 3中恢复最小化和最大化按钮

来自分类Dev

如何检测vc ++中最大化或最小化的mfc对话框?

来自分类Dev

如何从终端关闭,最小化和最大化指定窗口?

来自分类Dev

如何在Gnome 3中恢复最小化和最大化按钮

来自分类Dev

如何在Ubuntu 18.04中删除最小化,最大化和关闭按钮?

来自分类Dev

(Lubuntu)如何向左移动,最小化和最大化

来自分类Dev

如何从bash脚本确定窗口是最大化还是最小化

来自分类Dev

如何在Android中最小化和最大化页面?

Related 相关文章

  1. 1

    如何最小化启动程序,并最大化还原?

  2. 2

    R:在lpSolveAPI中,如何将目标函数从最小化更改为最大化?

  3. 3

    如何使用递归最大化和最小化数学表达式?

  4. 4

    你如何使用 CSS 为我的网站制作最小化、最大化和关闭按钮

  5. 5

    最小化盒子和最大化对象的算法

  6. 6

    删除最小化和最大化按钮

  7. 7

    什么事件用于最大化/最小化?

  8. 8

    卸下意见最小化/最大化按钮

  9. 9

    或工具最大化/最小化OR / XOR

  10. 10

    FVWM的Windows按钮(最大化最小化...),主题

  11. 11

    WPF最小化和最大化

  12. 12

    最小化和最大化<div>

  13. 13

    最小化最大化窗口后偏移鼠标

  14. 14

    最小化最大化不起作用

  15. 15

    自定义最大化、最小化按钮

  16. 16

    jQuery UI可排序,具有最小化和最大化

  17. 17

    最大化具有许多参数的函数(python)

  18. 18

    如何在Ubuntu 18.04中删除最小化,最大化和关闭按钮?

  19. 19

    如何最大化,最小化和使uib模式可拖动?

  20. 20

    如何检测另一个过程的窗口是最小化还是最大化?

  21. 21

    如何从终端关闭,最小化和最大化指定窗口?

  22. 22

    如何在Gnome 3中恢复最小化和最大化按钮

  23. 23

    如何检测vc ++中最大化或最小化的mfc对话框?

  24. 24

    如何从终端关闭,最小化和最大化指定窗口?

  25. 25

    如何在Gnome 3中恢复最小化和最大化按钮

  26. 26

    如何在Ubuntu 18.04中删除最小化,最大化和关闭按钮?

  27. 27

    (Lubuntu)如何向左移动,最小化和最大化

  28. 28

    如何从bash脚本确定窗口是最大化还是最小化

  29. 29

    如何在Android中最小化和最大化页面?

热门标签

归档