当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python sklearn RBF用法及代码示例


本文简要介绍python语言中 sklearn.gaussian_process.kernels.RBF 的用法。

用法:

class sklearn.gaussian_process.kernels.RBF(length_scale=1.0, length_scale_bounds=(1e-05, 100000.0))

Radial-basis 函数内核(又名squared-exponential 内核)。

RBF 核是一个固定核。它也被称为“squared exponential” 内核。它由长度尺度参数 参数化,该参数可以是标量(内核的各向同性变体)或与输入 X 具有相同维数的向量(内核的各向异性变体)。内核由下式给出:

其中 是内核的长度尺度, 是欧几里得距离。有关如何设置长度比例参数的建议,请参见[1]。

该核是无限可微的,这意味着以该核作为协方差函数的 GP 具有所有阶的均方导数,因此非常平滑。有关 RBF 内核的更多详细信息,请参阅 [2] 第 4 章 4.2 节。

在用户指南中阅读更多信息。

参数

length_scalefloat 或 ndarray 形状 (n_features,),默认 = 1.0

内核的长度尺度。如果是浮点数,则使用各向同性内核。如果是数组,则使用各向异性内核,其中 l 的每个维度定义相应特征维度的length-scale。

length_scale_bounds一对浮点数 >= 0 或 “fixed”,默认 =(1e-5, 1e5)

‘length_scale’ 的下限和上限。如果设置为“fixed”,则在超参数调整期间无法更改‘length_scale’。

属性

anisotropic
bounds

返回 theta 上的 log-transformed 边界。

hyperparameter_length_scale
hyperparameters

返回所有超参数规范的列表。

n_dims

返回内核的非固定超参数的数量。

requires_vector_input

返回内核是在固定长度特征向量还是通用对象上定义的。

theta

返回(扁平化,log-transformed)非固定超参数。

参考

1

大卫杜维诺 (2014)。 “内核食谱:关于协方差函数的建议”。

2

卡尔·爱德华·拉斯穆森、克里斯托弗·K·I·威廉姆斯 (2006)。 “机器学习的高斯过程”。麻省理工学院出版社。

例子

>>> from sklearn.datasets import load_iris
>>> from sklearn.gaussian_process import GaussianProcessClassifier
>>> from sklearn.gaussian_process.kernels import RBF
>>> X, y = load_iris(return_X_y=True)
>>> kernel = 1.0 * RBF(1.0)
>>> gpc = GaussianProcessClassifier(kernel=kernel,
...         random_state=0).fit(X, y)
>>> gpc.score(X, y)
0.9866...
>>> gpc.predict_proba(X[:2,:])
array([[0.8354..., 0.03228..., 0.1322...],
       [0.7906..., 0.0652..., 0.1441...]])

相关用法


注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.gaussian_process.kernels.RBF。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。