sklearn.linear_model.Ridge

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

[源码]

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

最小化目标函数:

该模型解决了一个回归模型,其中损失函数是线性最小二乘函数,而正则化由L2-范数给出。也称为Ridge回归或Tikhonov正则化。此估计器对多元回归(即当y是形状的二维数组(n_samples,n_targets)时)具有内置的支持。

用户指南中阅读更多内容。

参数 说明
alpha float, default=1.0
正则强度,必须为正浮点数。正则化改善了问题的状况,并减少了估计的方差。较大的值表示更强的正则化。在其他线性模型中,Alpha对应于1 / (2C),例如 LogisticRegressionsklearn.svm.LinearSVC。如果传递了数组,则假定惩罚特定于目标。因此,它们在数量上必须一致。
fit_intercept bool, default=True
是否计算此模型的截距。如果设置为false,则在计算中将不使用截距(即Xy已经中心化)。
normalize bool, default=False
fit_intercept设置为False 时,将忽略此参数。如果为True,则在回归之前通过减去均值并除以l2-范数来对回归变量X进行归一化。如果你希望标准化,请先使用 sklearn.preprocessing.StandardScaler,然后调用fit 估算器并设置normalize=False
copy_X bool, default=True
如果为True,将复制X;否则,X可能会被覆盖。
max_iter int, default=None
共轭梯度求解器的最大迭代次数。对于“ sparse_cg”和“ lsqr”求解器,默认值由scipy.sparse.linalg确定。对于“sag”求解器,默认值为1000。
tol float, default=1e-3
优化算法的精度。
solver {‘auto’, ‘svd’, ‘cholesky’, ‘lsqr’, ‘sparse_cg’, ‘sag’, ‘saga’}, default=’auto’
用于计算例程的求解器:
- “auto”会根据数据类型自动选择求解器。
- “ svd”使用X的奇异值分解来计算Ridge系数。对于奇异矩阵,比“ Cholesky”更稳定。
- 'cholestsky'使用标准的scipy.linalg.solve函数获得封闭形式的解决方案。
- 'sparse_cg'使用scipy.sparse.linalg.cg中的共轭梯度求解器。作为一种迭代算法,对于大规模数据(可以设置tolmax_iter),此求解器比“ Cholesky”更合适。
- “ lsqr”使用专用的正则化最小二乘算法scipy.sparse.linalg.lsqr。它是最快的,并且使用了迭代过程。
- “sag”使用随机平均梯度下降,而“saga”是它的无偏和更灵活的版本。这两种方法都使用了迭代过程,当n_samples和n_features都很大时,通常比其他求解器更快。请注意, “sag”和“saga”的快速收敛只能保证在具有大致相同规模的特性上。你可以使用sklearn.preprocessing中的缩放器对数据进行预处理。

最后五个求解器均支持密集和稀疏数据。但是,当fit_intercept为True 时,仅'sag'和'sparse_cg'支持稀疏型输入。

0.17版本中的新功能:随机平均梯度下降求解器。

0.19版中的新功能 :SAGA求解器。
random_state int, RandomState instance, default=None
solver=='sag'或'saga'时使用,用于随机打乱数据。有关详细信息,请参见词汇表

0.17版中的新功能:random_state支持随机平均梯度。
属性 说明
coef_ ndarray of shape (1, n_features) or (n_classes, n_features)
权重向量。
intercept_ float or ndarray of shape (n_targets,)
决策函数中的截距。如果设置fit_intercept = False,则截距为0.0 。
n_iter_ None or ndarray of shape (n_targets,)
每个目标的实际迭代次数。仅适用于sag和lsqr求解器。其他求解器将返回None。

0.17版本中的新功能。

另见

RidgeClassifier

岭分类器

RidgeCV

内建交叉验证的Ridge回归

sklearn.kernel_ridge.KernelRidge

内核岭回归将岭回归与内核技巧结合在一起

示例

>>> from sklearn.linear_model import Ridge
>>> import numpy as np
>>> n_samples, n_features = 105
>>> 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()

方法

方法 说明
fit(X, y[, sample_weight]) 拟合Ridge回归模型。
get_params([deep]) 获取此估计器的参数。
predict(X) 使用线性模型进行预测。
score(X, y[, sample_weight]) 返回预测的确定系数R ^ 2。
set_params(**params) 设置此估计器的参数。
__init__(alpha=1.0, *, fit_intercept=True, normalize=False, copy_X=True, max_iter=None, tol=0.001, solver='auto', random_state=None)

[源码]

初始化self, 请参阅help(type(self))以获得准确的说明。

fit(X, y, sample_weight=None)

[源码]

拟合Ridge分类器模型。

参数 说明
X {ndarray, sparse matrix} of shape (n_samples, n_features)
训练数据
y ndarray of shape (n_samples,)
目标值。
sample_weight float or ndarray of shape (n_samples,), default=None
每个样本的权重,如果使用浮点数,每个样品的权重都相同。
返回值 说明
self returns an instance of self.
返回估计器的实例。
get_params(deep=True)

[源码]

获取此估计器的参数。

参数 说明
deep bool, default=True
如果为True,返回此估计器和所包含子对象的参数。
返回值 说明
params mapping of string to any
参数名称映射到其值。
predict(X)

[源码]

预测X中样本的类别标签。

参数 说明
X array_like or sparse matrix, shape (n_samples, n_features)
样本数据
返回值 说明
C array, shape (n_samples,)
每个样本的预测值。
score(X, y, sample_weight=None)

[源码]

返回预测的确定系数R ^ 2。

系数R ^ 2定义为(1- u / v),其中u是残差平方和((y_true-y_pred)** 2).sum(),而v是总平方和((y_true- y_true.mean())** 2).sum()。可能的最高得分为1.0,并且也可能为负(因为该模型可能会更差)。一个常数模型总是预测y的期望值,而不考虑输入特征,得到的R^2得分为0.0。

参数 说明
X array-like of shape (n_samples, n_features)
测试样本。对于某些估计量,这可以是预先计算的内核矩阵或通用对象列表,形状为(n_samples,n_samples_fitted),其中n_samples_fitted是用于拟合估计器的样本数。
y array-like of shape (n_samples,) or (n_samples, n_outputs)
X的真实值。
sample_weight array-like of shape (n_samples,), default=None
样本权重。
返回值 说明
score float
预测值与真实值的R^2。

调用回归器中的score时使用的R2分数,multioutput='uniform_average'从0.23版开始使用 ,与r2_score默认值保持一致。这会影响多输出回归的score方法( MultiOutputRegressor除外)。

set_params(**params)

[源码]

设置此估计器的参数。

该方法适用于简单的估计器以及嵌套对象(例如管道)。后者具有形式为 <component>__<parameter>的参数,这样就可以更新嵌套对象的每个组件。

参数 说明
**params dict
估计器参数。
返回值 说明
self object
估计器实例。