成对核#
- class sklearn.gaussian_process.kernels.PairwiseKernel(gamma=1.0, gamma_bounds=(1e-05, 100000.0), metric='linear', pairwise_kernels_kwargs=None)[source]#
- sklearn.metrics.pairwise中核函数的包装器。 - 对sklearn.metrics.pairwise中核函数功能的简单包装。 - 注意:eval_gradient的评估不是解析的,而是数值的,并且
- 所有核函数只支持各向同性距离。参数gamma被认为是一个超参数,可以被优化。其他核参数在初始化时直接设置,并保持不变。 
 - 版本0.18中添加。 - 参数:
- gammafloat, default=1.0
- 由metric指定的成对核的参数gamma。它应该为正数。 
- gamma_bounds一对浮点数>= 0 或 “fixed”, default=(1e-5, 1e5)
- ‘gamma’的下限和上限。如果设置为“fixed”,“gamma”在超参数调整期间不能更改。 
- metric{"linear", "additive_chi2", "chi2", "poly", "polynomial", "rbf", "laplacian", "sigmoid", "cosine"} 或可调用对象,默认为“linear”
- 用于计算特征数组中实例之间核函数的度量标准。如果 metric 是字符串,则它必须是 pairwise.PAIRWISE_KERNEL_FUNCTIONS 中的度量之一。如果 metric 是“precomputed”,则假设 X 是一个核矩阵。或者,如果 metric 是一个可调用函数,则它会在每一对实例(行)上调用,并记录结果值。此可调用函数应将 X 中的两数组作为输入,并返回一个表示它们之间距离的值。 
- pairwise_kernels_kwargsdict, default=None
- 此字典(如有)的所有条目都将作为关键字参数传递给成对核函数。 
 
 - 示例 - >>> from sklearn.datasets import load_iris >>> from sklearn.gaussian_process import GaussianProcessClassifier >>> from sklearn.gaussian_process.kernels import PairwiseKernel >>> X, y = load_iris(return_X_y=True) >>> kernel = PairwiseKernel(metric='rbf') >>> gpc = GaussianProcessClassifier(kernel=kernel, ... random_state=0).fit(X, y) >>> gpc.score(X, y) 0.9733... >>> gpc.predict_proba(X[:2,:]) array([[0.8880..., 0.05663..., 0.05532...], [0.8676..., 0.07073..., 0.06165...]]) - __call__(X, Y=None, eval_gradient=False)[source]#
- 返回核函数 k(X, Y) 及其梯度(可选)。 - 参数:
- Xndarray of shape (n_samples_X, n_features)
- 返回的核函数 k(X, Y) 的左参数 
- Yndarray of shape (n_samples_Y, n_features), default=None
- 返回的核函数 k(X, Y) 的右参数。如果为 None,则计算 k(X, X)。 
- eval_gradientbool, default=False
- 确定是否计算关于核超参数对数的梯度。仅当 Y 为 None 时才支持。 
 
- 返回:
- Kndarray of shape (n_samples_X, n_samples_Y)
- 核函数 k(X, Y) 
- K_gradientndarray of shape (n_samples_X, n_samples_X, n_dims), optional
- 关于核超参数对数的核函数 k(X, X) 的梯度。仅当 - eval_gradient为 True 时返回。
 
 
 - property bounds#
- 返回 theta 的对数转换边界。 - 返回:
- boundsndarray of shape (n_dims, 2)
- 核超参数 theta 的对数转换边界 
 
 
 - diag(X)[source]#
- 返回核函数 k(X, X) 的对角线。 - 此方法的结果与 np.diag(self(X)) 相同;但是,它可以更有效地计算,因为只计算对角线。 - 参数:
- Xndarray of shape (n_samples_X, n_features)
- 返回的核函数 k(X, Y) 的左参数 
 
- 返回:
- K_diagndarray of shape (n_samples_X,)
- 核函数 k(X, X) 的对角线 
 
 
 - get_params(deep=True)[source]#
- 获取此内核的参数。 - 参数:
- deepbool, default=True
- 如果为 True,则将返回此估计量和包含的作为估计量的子对象的参数。 
 
- 返回:
- paramsdict
- 参数名称映射到它们的值。 
 
 
 - property hyperparameters#
- 返回所有超参数规范的列表。 
 - property n_dims#
- 返回内核的非固定超参数的数量。 
 - property requires_vector_input#
- 返回内核是定义在固定长度特征向量上还是通用对象上。为了向后兼容性,默认为 True。 
 - set_params(**params)[source]#
- 设置此内核的参数。 - 此方法适用于简单的内核以及嵌套内核。后者具有 - <component>__<parameter>形式的参数,因此可以更新嵌套对象的每个组件。- 返回:
- self
 
 
 - property theta#
- 返回(扁平化,对数转换的)非固定超参数。 - 请注意,theta 通常是内核超参数的对数转换值,因为搜索空间的这种表示更适合超参数搜索,因为像长度尺度这样的超参数自然存在于对数尺度上。 - 返回:
- thetandarray of shape (n_dims,)
- 内核的非固定、对数转换的超参数 
 
 
 
