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':[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
__init__(self,param_distributions,n_iter,*,random_state = None )
[源碼]
初始化self。詳情可參閱 type(self)的幫助。