白色核函數#

class sklearn.gaussian_process.kernels.WhiteKernel(noise_level=1.0, noise_level_bounds=(1e-05, 100000.0))[原始碼]#

白色核函數。

此核函數的主要用途是作為總和核函數的一部分,它將訊號的雜訊解釋為獨立且相同地常態分佈。參數 noise_level 等於此雜訊的變異數。

\[k(x_1, x_2) = noise\_level \text{ 如果 } x_i == x_j \text{ 否則 } 0\]

使用者指南 中閱讀更多資訊。

版本 0.18 中新增。

參數:
noise_levelfloat,預設值為 1.0

控制雜訊水平(變異數)的參數

noise_level_bounds一對浮點數 >= 0 或 "fixed",預設值為 (1e-5, 1e5)

「noise_level」的下限和上限。如果設定為 "fixed",則在超參數調整期間無法更改「noise_level」。

範例

>>> from sklearn.datasets import make_friedman2
>>> from sklearn.gaussian_process import GaussianProcessRegressor
>>> from sklearn.gaussian_process.kernels import DotProduct, WhiteKernel
>>> X, y = make_friedman2(n_samples=500, noise=0, random_state=0)
>>> kernel = DotProduct() + WhiteKernel(noise_level=0.5)
>>> gpr = GaussianProcessRegressor(kernel=kernel,
...         random_state=0).fit(X, y)
>>> gpr.score(X, y)
0.3680...
>>> gpr.predict(X[:2,:], return_std=True)
(array([653.0..., 592.1... ]), array([316.6..., 316.6...]))
__call__(X, Y=None, eval_gradient=False)[原始碼]#

傳回核函數 k(X, Y) 以及(可選)其梯度。

參數:
Xarray-like 形式為 (n_samples_X, n_features) 或物件列表

傳回的核函數 k(X, Y) 的左參數

Y形狀為 (n_samples_X, n_features) 的類陣列或物件列表,預設為 None

回傳核心函數 k(X, Y) 的右參數。如果為 None,則會改為評估 k(X, X)。

eval_gradient布林值,預設為 False

決定是否計算相對於核心函數超參數對數的梯度。僅當 Y 為 None 時支援。

回傳值:
K形狀為 (n_samples_X, n_samples_Y) 的 ndarray

核心函數 k(X, Y)

K_gradient形狀為 (n_samples_X, n_samples_X, n_dims) 的 ndarray,選用

核心函數 k(X, X) 相對於核心函數超參數對數的梯度。僅當 eval_gradient 為 True 時回傳。

屬性 bounds#

回傳 theta 的對數轉換邊界。

回傳值:
bounds形狀為 (n_dims, 2) 的 ndarray

核心函數超參數 theta 的對數轉換邊界

clone_with_theta(theta)[原始碼]#

回傳具有指定超參數 theta 的自我複製品。

參數:
theta形狀為 (n_dims,) 的 ndarray

超參數

diag(X)[原始碼]#

回傳核心函數 k(X, X) 的對角線。

此方法的回傳結果與 np.diag(self(X)) 相同;然而,由於僅評估對角線,因此可以更有效率地進行評估。

參數:
Xarray-like 形式為 (n_samples_X, n_features) 或物件列表

核心函數的參數。

回傳值:
K_diag形狀為 (n_samples_X,) 的 ndarray

核心函數 k(X, X) 的對角線

get_params(deep=True)[原始碼]#

取得此核心函數的參數。

參數:
deep布林值,預設為 True

如果為 True,將回傳此估算器和包含的子物件(亦為估算器)的參數。

回傳值:
params字典

參數名稱對應到其值。

屬性 hyperparameters#

回傳所有超參數規格的列表。

is_stationary()[原始碼]#

回傳核心函數是否為穩定的。

屬性 n_dims#

回傳核心函數非固定超參數的數量。

屬性 requires_vector_input#

核心函數是否僅適用於固定長度的特徵向量。

set_params(**params)[原始碼]#

設定此核心函數的參數。

此方法適用於簡單核心函數以及巢狀核心函數。後者具有 <component>__<parameter> 形式的參數,因此可以更新巢狀物件的每個元件。

回傳值:
self
屬性 theta#

回傳 (扁平化、對數轉換的) 非固定超參數。

請注意,theta 通常是核心函數超參數的對數轉換值,因為這種搜尋空間表示法更適合超參數搜尋,如同長度尺度等超參數自然存在於對數尺度上。

回傳值:
theta形狀為 (n_dims,) 的 ndarray

核心函數的非固定、對數轉換超參數