ParameterSampler
- classsklearn.model_selection.ParameterSampler(param_distributions, n_iter, *, random_state=None)[source]
-
Генератор параметров, взятых из заданных распределений.
Недетерминируемый итерируемый объект, возвращающий случайные комбинации кандидатов для поиска по гиперпараметрам. Если все параметры представлены в виде списка, производится выборка без возвращения. Если хотя бы один параметр задан как распределение, используется выборка с возвращением. Настоятельно рекомендуется использовать непрерывные распределения для непрерывных параметров.
Подробнее см. в Руководстве пользователя.
- Параметры:
-
- param_distributionsdict
-
Словарь с именами параметров (
str) в качестве ключей и распределениями или списками параметров для проверки. Распределения должны предоставлять методrvsдля выборки (например, те, что из scipy.stats.distributions). Если задан список, он выбирается равномерно. Если задан список словарей, сначала равномерно выбирается словарь, а затем параметр выбирается с использованием этого словаря, как описано выше. - n_iterint
-
Количество наборов параметров, которые генерируются.
- random_stateint, RandomState instance или None, по умолчанию=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–2025 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.6/modules/generated/sklearn.model_selection.ParameterSampler.html