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


Python sklearn Ridge用法及代码示例


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

用法:

class sklearn.linear_model.Ridge(alpha=1.0, *, fit_intercept=True, normalize='deprecated', copy_X=True, max_iter=None, tol=0.001, solver='auto', positive=False, random_state=None)

具有 l2 正则化的线性最小二乘。

最小化目标函数:

||y - Xw||^2_2 + alpha * ||w||^2_2

该模型解决了一个回归模型,其中损失函数是线性最小二乘函数,正则化由 l2 范数给出。也称为岭回归或 Tikhonov 正则化。此估计器内置支持multi-variate 回归(即,当 y 是形状为 (n_samples, n_targets) 的 2d-array 时)。

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

参数

alpha{float, ndarray of shape (n_targets,)}, default=1.0

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

fit_intercept布尔,默认=真

是否适合此模型的截距。如果设置为 false,则不会在计算中使用截距(即 Xy 预计会居中)。

normalize布尔,默认=假

fit_intercept 设置为 False 时忽略此参数。如果为 True,则回归量 X 将在回归前通过减去均值并除以 l2 范数进行归一化。如果您希望标准化,请在使用 normalize=False 对估计器调用 fit 之前使用 StandardScaler

copy_X布尔,默认=真

如果为 True,则 X 将被复制;否则,它可能会被覆盖。

max_iter整数,默认=无

共轭梯度求解器的最大迭代次数。对于 ‘sparse_cg’ 和 ‘lsqr’ 求解器,默认值由 scipy.sparse.linalg 确定。对于 ‘sag’ 求解器,默认值为 1000。对于 ‘lbfgs’ 求解器,默认值为 15000。

tol浮点数,默认=1e-3

解决方案的精度。

solver{‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’,‘sparse_cg’,‘sag’, ‘saga’, ‘lbfgs’},默认='自动'

在计算例程中使用的求解器:

  • ‘auto’ 根据数据类型自动选择求解器。
  • ‘svd’ 使用 X 的奇异值分解来计算岭系数。奇异矩阵比‘cholesky’ 更稳定。
  • ‘cholesky’ 使用标准scipy.linalg.solve 函数来获得封闭式解。
  • ‘sparse_cg’ 使用 scipy.sparse.linalg.cg 中的共轭梯度求解器。作为一种迭代算法,此求解器比 ‘cholesky’ 更适合 large-scale 数据(可以设置 tolmax_iter )。
  • ‘lsqr’ 使用专用正则化最小二乘例程 scipy.sparse.linalg.lsqr。它是最快的并且使用迭代过程。
  • ‘sag’ 使用随机平均梯度下降,‘saga’ 使用其改进的、名为 SAGA 的无偏版本。这两种方法都使用迭代过程,并且当 n_samples 和 n_features 都很大时通常比其他求解器更快。请注意,‘sag’ 和 ‘saga’ 的快速收敛仅在具有大致相同规模的特征上得到保证。您可以使用 sklearn.preprocessing 中的缩放器预处理数据。
  • ‘lbfgs’ 使用在 scipy.optimize.minimize 中实现的 L-BFGS-B 算法。仅当positive 为 True 时才能使用。

最后六个求解器都支持密集和稀疏数据。但是,当fit_intercept 为 True 时,只有 ‘sag’, ‘sparse_cg’ 和 ‘lbfgs’ 支持稀疏输入。

positive布尔,默认=假

当设置为 True 时,强制系数为正。在这种情况下,仅支持 ‘lbfgs’ 求解器。

random_stateint,RandomState 实例,默认=无

solver == ‘sag’ 或 ‘saga’ 时使用以打乱数据。详细信息请参见术语表。

属性

coef_ndarray 形状 (n_features,) 或 (n_targets, n_features)

权重向量。

intercept_形状的浮点数或 ndarray (n_targets,)

决策函数中的独立项。如果 fit_intercept = False 则设置为 0.0。

n_iter_无或形状的 ndarray (n_targets,)

每个目标的实际迭代次数。仅适用于 sag 和 lsqr 求解器。其他求解器将返回 None。

n_features_in_int

拟合期间看到的特征数。

feature_names_in_ndarray 形状(n_features_in_,)

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

例子

>>> from sklearn.linear_model import Ridge
>>> 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)
>>> clf = Ridge(alpha=1.0)
>>> clf.fit(X, y)
Ridge()

相关用法


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