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)的幫助。