当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn ParameterSampler用法及代码示例


本文简要介绍python语言中 sklearn.model_selection.ParameterSampler 的用法。

用法:

class sklearn.model_selection.ParameterSampler(param_distributions, n_iter, *, random_state=None)

从给定分布采样的参数生成器。

用于超参数搜索的随机候选组合的非确定性可迭代。如果所有参数都以列表形式呈现,则执行无替换采样。如果至少有一个参数作为分布给出,则使用带放回抽样。强烈建议对连续参数使用连续分布。

在用户指南中阅读更多信息。

参数

param_distributionsdict

以参数名称 (str) 作为键和分布或要尝试的参数列表的字典。发行版必须提供 rvs 抽样方法(例如来自 scipy.stats.distributions 的抽样方法)。如果给出一个列表,则对其进行均匀采样。如果给定一个字典列表,首先对字典进行均匀采样,然后使用该字典对参数进行采样,如上所述。

n_iterint

生成的参数设置数。

random_stateint、RandomState 实例或无,默认=无

伪随机数生成器状态用于从可能值列表中随机均匀抽样,而不是 scipy.stats 分布。传递 int 以获得跨多个函数调用的可重现输出。请参阅词汇表。

返回

paramsstr 的字典到任何

生成字典,将每个估计器参数映射为采样值。

例子

>>> 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

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.model_selection.ParameterSampler。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。