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


Python sklearn KernelRidge用法及代码示例


本文简要介绍python语言中 sklearn.kernel_ridge.KernelRidge 的用法。

用法:

class sklearn.kernel_ridge.KernelRidge(alpha=1, *, kernel='linear', gamma=None, degree=3, coef0=1, kernel_params=None)

核岭回归。

核岭回归 (KRR) 将岭回归(线性最小二乘和 l2 范数正则化)与核技巧相结合。因此,它在由相应内核和数据诱导的空间中学习线性函数。对于非线性内核,这对应于原始空间中的非线性函数。

KRR 学习的模型形式与支持向量回归(SVR)相同。然而,使用了不同的损失函数:KRR 使用平方误差损失,而支持向量回归使用epsilon-insensitive 损失,两者都与 l2 正则化相结合。与 SVR 相比,拟合 KRR 模型可以以封闭形式完成,并且对于 medium-sized 数据集通常更快。另一方面,学习的模型是非稀疏的,因此比 SVR 慢,SVR 在 prediction-time 处学习 epsilon > 0 的稀疏模型。

此估计器内置支持multi-variate 回归(即,当 y 是形状为 [n_samples, n_targets] 的 2d-array 时)。

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

参数

alpha浮点数或类似数组的形状 (n_targets,),默认=1.0

正则化强度;必须是正浮点数。正则化改善了问题的条件并减少了估计的方差。较大的值指定更强的正则化。 Alpha 对应于其他线性模型中的 1 / (2C),例如 LogisticRegression LinearSVC 。如果传递了一个数组,则假定惩罚是特定于目标的。因此,它们必须在数量上对应。有关公式,请参见岭回归和分类。

kernelstr 或可调用,默认=”linear”

内部使用的内核映射。此参数直接传递给 pairwise_kernel 。如果kernel 是字符串,则它必须是pairwise.PAIRWISE_KERNEL_FUNCTIONS 或“precomputed” 中的指标之一。如果kernel 是“precomputed”,则假定 X 是核矩阵。或者,如果kernel 是可调用函数,则在每对实例(行)上调用它并记录结果值。可调用对象应将 X 中的两行作为输入,并将相应的内核值作为单个数字返回。这意味着不允许来自 sklearn.metrics.pairwise 的可调用对象,因为它们在矩阵上操作,而不是单个样本。请改用标识内核的字符串。

gamma浮点数,默认=无

RBF、拉普拉斯算子、多项式、 index chi2 和 sigmoid 内核的 Gamma 参数。默认值的解释留给内核;请参阅 sklearn.metrics.pairwise 的文档。被其他内核忽略。

degree浮点数,默认=3

多项式核的度数。被其他内核忽略。

coef0浮点数,默认=1

多项式和 sigmoid 内核的零系数。被其他内核忽略。

kernel_paramsstr 到 any 的映射,默认=None

作为可调用对象传递的内核函数的附加参数(关键字参数)。

属性

dual_coef_ndarray 形状 (n_samples,) 或 (n_samples, n_targets)

内核空间中权重向量的表示

X_fit_{ndarray, 稀疏矩阵} 形状 (n_samples, n_features)

训练数据,这也是预测所必需的。如果 kernel == “precomputed” 这是预先计算的训练矩阵,形状为 (n_samples, n_samples)。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

拟合期间看到的特征名称。仅当 X 具有全为字符串的函数名称时才定义。

参考

  • Kevin P. Murphy “机器学习:概率视角”,麻省理工学院出版社第 14.4.3 章,第 492-493 页

例子

>>> from sklearn.kernel_ridge import KernelRidge
>>> import numpy as np
>>> n_samples, n_features = 10, 5
>>> rng = np.random.RandomState(0)
>>> y = rng.randn(n_samples)
>>> X = rng.randn(n_samples, n_features)
>>> krr = KernelRidge(alpha=1.0)
>>> krr.fit(X, y)
KernelRidge(alpha=1.0)

相关用法


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