CompoundKernel#
- class sklearn.gaussian_process.kernels.CompoundKernel(kernels)[source]#
由一組其他核函數組成的核函數。
在 0.18 版本中新增。
- 參數:
- kernels核函數列表
其他的核函數
範例
>>> from sklearn.gaussian_process.kernels import WhiteKernel >>> from sklearn.gaussian_process.kernels import RBF >>> from sklearn.gaussian_process.kernels import CompoundKernel >>> kernel = CompoundKernel( ... [WhiteKernel(noise_level=3.0), RBF(length_scale=2.0)]) >>> print(kernel.bounds) [[-11.51292546 11.51292546] [-11.51292546 11.51292546]] >>> print(kernel.n_dims) 2 >>> print(kernel.theta) [1.09861229 0.69314718]
- __call__(X, Y=None, eval_gradient=False)[source]#
返回核函數 k(X, Y),並可選擇返回其梯度。
請注意,此複合核函數會沿著額外的軸返回所有簡單核函數的堆疊結果。
- 參數:
- X形狀為 (n_samples_X, n_features) 的類陣列或物件列表,預設為 None
返回的核函數 k(X, Y) 的左參數
- Y形狀為 (n_samples_X, n_features) 的類陣列或物件列表,預設為 None
返回的核函數 k(X, Y) 的右參數。如果為 None,則會改為評估 k(X, X)。
- eval_gradient布林值,預設為 False
決定是否計算相對於核函數超參數對數的梯度。
- 返回值:
- K形狀為 (n_samples_X, n_samples_Y, n_kernels) 的 ndarray
核心函數 k(X, Y)
- K_gradient形狀為 (n_samples_X, n_samples_X, n_dims, n_kernels) 的 ndarray,選填
核心函數 k(X, X) 相對於核心函數超參數的對數的梯度。只有當
eval_gradient
為 True 時才會返回。
- property bounds#
返回 theta 的對數轉換邊界。
- 返回值:
- bounds形狀為 (n_dims, 2) 的陣列
核心函數超參數 theta 的對數轉換邊界
- diag(X)[原始碼]#
返回核心函數 k(X, X) 的對角線。
此方法的結果與
np.diag(self(X))
相同;然而,由於只評估對角線,因此可以更有效率地進行評估。- 參數:
- X形狀為 (n_samples_X, n_features) 的類陣列或物件列表
核心函數的參數。
- 返回值:
- K_diag形狀為 (n_samples_X, n_kernels) 的 ndarray
核心函數 k(X, X) 的對角線
- get_params(deep=True)[原始碼]#
取得此核心函數的參數。
- 參數:
- deepbool,預設值為 True
如果為 True,將返回此估計器和包含的子物件(為估計器)的參數。
- 返回值:
- params字典
參數名稱對應到其值的映射。
- property hyperparameters#
返回所有超參數規格的列表。
- property n_dims#
返回核心函數非固定超參數的數量。
- property requires_vector_input#
返回核心函數是否在離散結構上定義。
- set_params(**params)[原始碼]#
設定此核心函數的參數。
此方法適用於簡單的核心函數以及巢狀核心函數。後者的參數形式為
<component>__<parameter>
,因此可以更新巢狀物件的每個元件。- 返回值:
- self
- property theta#
返回(展平,對數轉換)非固定超參數。
請注意,theta 通常是核心函數超參數的對數轉換值,因為這種搜尋空間的表示形式更適合超參數搜尋,因為像長度尺度這樣的超參數自然存在於對數尺度上。
- 返回值:
- theta形狀為 (n_dims,) 的 ndarray
核心函數的非固定、對數轉換超參數