當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn ParameterSampler用法及代碼示例


本文簡要介紹python語言中 sklearn.model_selection.ParameterSampler 的用法。

用法:

class sklearn.model_selection.ParameterSampler(param_distributions, n_iter, *, random_state=None)

從給定分布采樣的參數生成器。

用於超參數搜索的隨機候選組合的非確定性可迭代。如果所有參數都以列表形式呈現,則執行無替換采樣。如果至少有一個參數作為分布給出,則使用帶放回抽樣。強烈建議對連續參數使用連續分布。

在用戶指南中閱讀更多信息。

參數

param_distributionsdict

以參數名稱 (str) 作為鍵和分布或要嘗試的參數列表的字典。發行版必須提供 rvs 抽樣方法(例如來自 scipy.stats.distributions 的抽樣方法)。如果給出一個列表,則對其進行均勻采樣。如果給定一個字典列表,首先對字典進行均勻采樣,然後使用該字典對參數進行采樣,如上所述。

n_iterint

生成的參數設置數。

random_stateint、RandomState 實例或無,默認=無

偽隨機數生成器狀態用於從可能值列表中隨機均勻抽樣,而不是 scipy.stats 分布。傳遞 int 以獲得跨多個函數調用的可重現輸出。請參閱詞匯表。

返回

paramsstr 的字典到任何

生成字典,將每個估計器參數映射為采樣值。

例子

>>> 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

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.model_selection.ParameterSampler。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。