Spec-Zone.ru › scikit-learn

ParameterSampler

classsklearn.model_selection.ParameterSampler(param_distributions, n_iter, *, random_state=None)[исходный код]

Генератор параметров, выбираемых из заданных распределений.

Недетерминированный итерируемый объект со случайными комбинациями кандидатов для поиска гиперпараметров. Если все параметры представлены в виде списка, выполняется выборка без возвращения. Если хотя бы один параметр задан в виде распределения, используется выборка с возвращением. Для непрерывных параметров настоятельно рекомендуется использовать непрерывные распределения.

Подробнее см. в Руководстве пользователя.

Параметры:
param_distributionsdict

Словарь, в котором имена параметров (str) являются ключами, а распределения или списки параметров для проверки — значениями. Распределения должны предоставлять метод rvs для выборки (например, распределения из scipy.stats.distributions). Если задан список, из него выполняется равномерная выборка. Если задан список словарей, сначала равномерно выбирается словарь, а затем параметр выбирается, как описано выше, с использованием этого словаря.

n_iterint

Количество создаваемых наборов параметров.

random_stateint, RandomState instance or None, default=None

Состояние генератора псевдослучайных чисел, используемого для случайной равномерной выборки из списков возможных значений вместо распределений scipy.stats. Передайте целое число, чтобы получать воспроизводимые результаты при нескольких вызовах функции. См. Глоссарий.

Возвращает:
paramsdict 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

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.model_selection.ParameterSampler.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API