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':[12], '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)的帮助。