机器学习中GridSearchCV网格搜索的参数、方法
- 1、简介
- 2、参数
-
- (1)estimator: estimator object
- (2)param_grid: dict or list of dictionaries
- (3)scoring: str, callable, list, tuple or dict, default=None
- (4)n_jobs: int, default=None
- (5)refit: bool, str, or callable, default=True
- (6)cv: int, cross-validation generator or an iterable, default=None
- (7)verbose: int
- (8)pre_dispatch: int, or str, default=’2*n_jobs’
- (9)error_score: ‘raise’ or numeric, default=np.nan
- (10)return_train_score: bool, default=False
- 3、属性
-
- (1)cv_results_ : dict of numpy (masked) ndarrays
- (2)best_estimator_ : estimator
- (3)best_score_ : float
- (4)best_params_ : dict
- (5)best_index_ : int
- (6)scorer_ : function or a dict
- (7)n_splits_ : int
- (8)refit_time_: float
- (9)multimetric_: bool
- (10)feature_names_in_: ndarray of shape (n_features_in_ , )
- 4、进行预测的常用方法
- 5、代码实现(预测波士顿房价XGBRegressor)
1、简介
官网:GridSearchCV的sklearn官方网址
GridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证。网格搜索,搜索的是参数,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数,这其实是一个训练和比较的过程。
GridSearchCV可以保证在指定的参数范围内找到精度最高的参数,但是这也是网格搜索的缺陷所在,他要求遍历所有可能参数的组合,在面对大数据集和多参数的情况下,非常耗时。这个方法适合于小数据集,一旦数据的量级上去了,很难得出结果。网格搜索适用于三四个(或者更少)的超参数(当超参数的数量增长时,网格搜索的计算复杂度会呈现指数增长,这时候则使用随机搜索),用户列出一个较小的超参数值域,这些超参数至于的笛卡尔积(排列组合)为一组组超参数。网格搜索算法使用每组超参数