python - 是否有一个更简单的 GridSearchCV 版本,只优化一个函数?

标签 python optimization scikit-learn

scikit-learn 有一个很好的函数 ParameterGrid,它可以从字符串字典到序列创建参数网格:

[http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.ParameterGrid.html]

此函数由 GridSearchCV 使用,它对估计器的指定参数值进行详尽的搜索。 GridSearchCV 允许轻松并行网格搜索。这是一个链接:

http://scikit-learn.org/stable/modules/generated/sklearn.model_selection.GridSearchCV.html#sklearn.model_selection.GridSearchCV

我有一个更简单的问题:我只想彻底搜索参数值上函数的最小值。鉴于 ParameterGrid 的输出,搜索最小值非常简单。但并行化有点复杂。

我想知道是否有一个类似于GridSearchCVGridSearch函数(末尾没有“CV”),我可以用它来解决这个更简单的问题。如果没有,是否有办法“破解”GridSearchCV,向其传递适当的参数,以便它完成工作?

最佳答案

您可以使用 GridSeachCV 像“无需交叉验证”一样使用此 hack: GridSearchCV 的 cv 参数应为 ShuffleSplit(1, test_size=0.01, n_iter=1, random_state=random_const) 且 GridSearchCV 应类似于

from sklearn.cross_validation import ShuffleSplit

random_const = 123
grid_cv = GridSearchCV(estimator,
                       parameters_grid,
                       cv=ShuffleSplit(1, test_size=0.01, n_iter=1, random_state=random_const),
                       verbose=0,
                       n_jobs=1)

关于python - 是否有一个更简单的 GridSearchCV 版本,只优化一个函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41325370/

相关文章:

python - Django管理面板将None类型数据转换为空字符串

swift - 为什么 Swift 编译时间这么慢?

android - zipalign 不会改变 apk 文件

python - sklearn 分类指标 auc 返回 ValueError

python-3.x - 如何修复 : No samples will be generated with the provided ratio settings. (imblearn)

python - 数据作为数据帧附加在内存中

python - 嵌入前的 Keras Lambda 层 : Use to Convert Text to Integers

Mysql优化算子 'I N'

python - sklearn 管道中的 set_params() 不适用于 TransformedTargetRegressor

python - sqlalchemy.pool + psycopg2 超时问题