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) ,例如 LogisticRegression 或sklearn.svm.LinearSVC 。如果传递了数组,则假定惩罚特定于目标。因此,它们在数量上必须一致。 |
fit_intercept | bool, default=True 是否计算此模型的截距。如果设置为false,则在计算中将不使用截距(即 X 和 y 已经中心化)。 |
normalize | bool, default=Falsefit_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中的共轭梯度求解器。作为一种迭代算法,对于大规模数据(可以设置 tol 和max_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版本中的新功能。 |
另见
岭分类器
内建交叉验证的Ridge回归
sklearn.kernel_ridge.KernelRidge
内核岭回归将岭回归与内核技巧结合在一起
示例
>>> 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()
方法
方法 | 说明 |
---|---|
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 估计器实例。 |