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