sklearn.model_selection.ParameterSampler¶
class sklearn.model_selection.ParameterSampler(param_distributions, n_iter, *, random_state=None)
[源码]
根据给定分布采样的参数生成器。
用于超参数搜索的随机候选组合的不确定性迭代。如果所有参数均以列表形式显示,则执行采样而无需替换。如果给定至少一个参数作为分布,则使用替换抽样。强烈建议对连续参数使用连续分布。
在用户指南中阅读更多内容。
参数 | 说明 |
---|---|
param_distributions | dict 以参数名称( str )作为键和要尝试的分布或参数列表的字典。分布必须提供一种rvs 抽样方法(例如scipy.stats.distributions中的抽样方法)。如果给出列表,则对其进行统一采样。如果给出了字典列表,则首先对一个字典进行统一采样,然后如上所述使用该字典对参数进行采样。 |
n_iter | integer 产生的参数设置的数量。 |
random_state | int or RandomState instance, default=None 伪随机数生成器状态,用于从可能值列表而不是scipy.stats分布进行随机统一采样。为多个函数调用传递可重复输出的int值。请参阅词汇表。 |
返回值 | 说明 |
---|---|
params | dict of str to any 输出字典,将每个估计器参数映射为样本值。 |
示例
>>> from sklearn.model_selection import ParameterSampler
>>> from scipy.stats.distributions import expon
>>> import numpy as np
>>> rng = np.random.RandomState(0)
>>> param_grid = {'a':[1, 2], 'b': expon()}
>>> param_list = list(ParameterSampler(param_grid, n_iter=4,
... random_state=rng))
>>> rounded_list = [dict((k, round(v, 6)) for (k, v) in d.items())
... for d in param_list]
>>> rounded_list == [{'b': 0.89856, 'a': 1},
... {'b': 0.923223, 'a': 1},
... {'b': 1.878964, 'a': 2},
... {'b': 1.038159, 'a': 2}]
True
__init__(self,param_distributions,n_iter,*,random_state = None )
[源码]
初始化self。详情可参阅 type(self)的帮助。