是否有更简单的GridSearchCV版本才能优化功能?

时间:2016-12-25 23:57:59

标签: 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的输出搜索最小值是直截了当的。但并行化有点复杂。

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

1 个答案:

答案 0 :(得分:1)

使用此hack可以像使用“无交叉验证”一样使用GridSeachCV: 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)