Abstract:GridSearch是Sklearn里的一个调参函数。本文是对此函数的详细解释。
1.参数搜索
参数并非从estimators中直接学到的,可以通过设置一个参数搜索空间来找到最佳的cross-validation score。通常示例包括的参数有:SVM分类器的中C、kernel和gamma,Lasso中的alpha等。
当构建一个estimator时,提供的参数可以以这种方式进行优化。更特别的是,可以使用如下的方法来给给定estimator的所有参数来找到对应的参数名和当前值:
estimator.get_params()
这些参数称被提到:“超参数(hyperparameters)”,尤其在Bayesian learning中,它们与机器学习过程中的参数优化是有区别的。
一个这样的参数search包含:
一个estimator(regressor/classifier)
一个参数空间
一个用于searching/sampling候选参数的方法
一个cross-validation的scheme
一个score function
这样的模型允许你指定有效的搜索参数策略,如下。在sklearn中,有两种通用方法进行sampling搜索候选参数:
GridSearch: 暴力搜索所有参数组合
RandomizedSearchCV: 在指定参数空间内抽样一部分候选参数
2.GRIDSEARCHCV
grid search提供了GridSearchCV,相应的参数空间param_grid设置如下: