机器学习中RandomizedSearchCV网格搜索的参数、方法
- 1、简介
- 2、参数
-
- (1)estimator: estimator object
- (2)param_distributions: dict or list of dicts
- (3) n_iter: int, default=10
- (4)scoring: str, callable, list, tuple or dict, default=None
- (5)n_jobs: int, default=None
- (6)refit: bool, str, or callable, default=True
- (7)cv: int, cross-validation generator or an iterable, default=None
- (8)verbose: int
- (9)pre_dispatch: int, or str, default=’2*n_jobs’
- (10)random_state: int, RandomState instance or None, default=None
- (11)error_score: ‘raise’ or numeric, default=np.nan
- (12)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、简介
官网:RandomizedSearchCV的sklearn官方网址
在搜索超参数的时候,如果超参数个数较少(三四个或者更少),那么我们可以采用网格搜索,一种穷尽式的搜索方法。但是当超参数个数比较多的时候,我们仍然采用网格搜索,那么搜索所需时间将会指数级上升。
所以有人就提出了随机搜索的方法,随机在超参数空间中搜索几十几百个点,其中就有可能有比较小的值。这种做法比上面稀疏化网格的做法快,而且实验证明,随机搜索法结果比稀疏网格法稍好。
RandomizedSearchCV使用方法和GridSearchCV 很相似,但他不是尝试所有可能的组合,而是通过选择每一个超参数的一个随机值的特定数量的随机组合,这个方法有两个优点:
(1)如果你让随机搜索运行, 比如1000次,它会探索每个超参数的1000个不同的值(而不是像网格搜索那样,只搜索每个超参数的几个值)