指數運算#

class sklearn.gaussian_process.kernels.Exponentiation(kernel, exponent)[原始碼]#

指數核函數 (Exponentiation kernel) 接受一個基礎核函數和一個純量參數 \(p\),並透過以下方式將它們結合:

\[k_{exp}(X, Y) = k(X, Y) ^p\]

請注意,__pow__ 魔術方法已被覆寫,因此 Exponentiation(RBF(), 2) 等同於使用 ** 運算子與 RBF() ** 2

請在使用者指南中閱讀更多內容。

在 0.18 版本中新增。

參數:
kernelKernel

基礎核函數

exponentfloat

基礎核函數的指數

範例

>>> from sklearn.datasets import make_friedman2
>>> from sklearn.gaussian_process import GaussianProcessRegressor
>>> from sklearn.gaussian_process.kernels import (RationalQuadratic,
...            Exponentiation)
>>> X, y = make_friedman2(n_samples=500, noise=0, random_state=0)
>>> kernel = Exponentiation(RationalQuadratic(), exponent=2)
>>> gpr = GaussianProcessRegressor(kernel=kernel, alpha=5,
...         random_state=0).fit(X, y)
>>> gpr.score(X, y)
0.419...
>>> gpr.predict(X[:1,:], return_std=True)
(array([635.5...]), array([0.559...]))
__call__(X, Y=None, eval_gradient=False)[原始碼]#

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

參數:
X形狀為 (n_samples_X, n_features) 的類陣列或物件列表

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

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

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

eval_gradient布林值,預設為 False

判斷是否計算相對於核函數超參數對數的梯度。

回傳值:
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 時才會回傳。

property 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)) 相同;但是,它可以更有效率地評估,因為只會評估對角線。

參數:
X形狀為 (n_samples_X, n_features) 的類陣列或物件列表

核函數的引數。

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

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

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

取得此核函數的參數。

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

如果為 True,則會回傳此估算器以及屬於估算器的子物件的參數。

回傳值:
params字典

參數名稱對應到其值。

property hyperparameters#

回傳所有超參數的列表。

is_stationary()[原始碼]#

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

property n_dims#

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

property requires_vector_input#

回傳核函數是否定義於離散結構上。

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

設定此核函數的參數。

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

回傳值:
self
property theta#

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

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

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

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