脊#
- class sklearn.linear_model.Ridge(alpha=1.0, *, fit_intercept=True, copy_X=True, max_iter=None, tol=0.0001, solver='auto', positive=False, random_state=None)[源代码]#
Linear least squares with l2 regularization.
最小化目标函数::
||y - Xw||^2_2 + alpha * ||w||^2_2
该模型求解了一个回归模型,其中损失函数是线性最小二乘函数,正则化由l2范数给出。也称为岭回归或Tikhonov正则化。该估计器内置支持多变量回归(即,当y是形状的2D阵列(n_samples,n_targets)时)。
阅读更多的 User Guide .
- 参数:
- alpha{float,ndarray of shape(n_targets,)},默认值=1.0
乘以L2项的常数,控制规则化强度。
alpha
必须是非负浮动,即在[0, inf)
.当
alpha = 0
,目标等效于普通最小平方,由LinearRegression
object.由于数字原因,使用alpha = 0
与Ridge
不建议对象。相反,您应该使用LinearRegression
object.如果传递数组,则假定惩罚特定于目标。因此,它们必须在数量上相对应。
- fit_intercept布尔,默认=True
是否适合此模型的拦截。如果设置为假,则在计算中不会使用任何拦截(即
X
和y
预计将集中)。- copy_X布尔,默认=True
如果为True,X将被复制;否则,可能会被覆盖。
- max_iterint,默认=无
共轨梯度求解器的最大迭代次数。对于“sparse_cg”和“lsqur”解算器,默认值由scipy.sparse.linalg确定。对于“sag”解算器,默认值为1000。对于“lbfgs”解算器,默认值为15000。
- tolfloat,默认= 1 e-4
解决方案的精确度 (
coef_
)由以下因素决定tol
它为每个求解器指定了不同的收敛标准:“svd”:
tol
没有影响。“skinky”:
tol
没有影响。'sparse_cg':残差的范数小于
tol
.“lsqur”:
tol
被设置为scipy.sparse.linalg.lsqr的atol和btol,其根据矩阵和系数的范数来控制残差向量的范数。“sag”和“saga”:cof的相对变化小于
tol
.“lbgs”:绝对(投影)梯度的最大值= max |residuals| 小于
tol
.
在 1.2 版本发生变更: 默认值从1 e-3更改为1 e-4,以与其他线性模型保持一致。
- solver' Auto ',' svd ',',',', ' sag ',' lbfs '},默认='自动'
在计算例程中使用的求解器:
“Auto”根据数据类型自动选择求解器。
“svd”使用X的奇异值分解来计算岭系数。它是最稳定的求解器,特别是对于奇异矩阵来说比“不稳定”更稳定,但代价是速度更慢。
'Scipky'使用标准的scipy.linalg.solve函数来获得封闭形式的解。
“sparse_cg”使用scipy.sparse.linalg.cg中找到的共乘梯度求解器。作为一种迭代算法,该求解器比“Skopky”更适合大规模数据(可以设置
tol
和max_iter
).“lsqur”使用专用的正规化最小平方例程scipy.sparse.linalg.lsqur。它是最快的,并且使用迭代过程。
'sag'使用随机平均梯度下降,'saga'使用其改进的无偏版本SAGA。这两种方法都使用迭代过程,并且当n_samples和n_features都很大时,通常比其他求解器更快。请注意,“sag”和“saga”快速收敛仅在具有大致相同比例的特征上得到保证。您可以使用sklearn.preprocessing中的缩放器对数据进行预处理。
“lbfgs”使用L-BFSG-B算法
scipy.optimize.minimize
.只有在以下情况下才能使用positive
是真的
除“svd”外的所有求解器都支持密集和稀疏数据。然而,只有“lsqur”、“sag”、“sparse_cg”和“lbfgs”支持稀疏输入,
fit_intercept
是真的Added in version 0.17: 随机平均梯度下降解算器。
Added in version 0.19: SAGA求解器。
- positive布尔,默认=假
如果设置为
True
,强制系数为正。这种情况下仅支持“lbfgs”求解器。- random_stateint,RandomState实例,默认=无
时使用
solver
==“sag”或“saga”来洗牌数据。看到 Glossary 有关详细信息Added in version 0.17:
random_state
以支持随机平均梯度。
- 属性:
- coef_形状的nd数组(n_features,)或(n_targets,n_features)
权重载体。
- intercept_形状的float或ndray(n_targets,)
决策功能中的独立项。设置为0.0,如果
fit_intercept = False
.- n_iter_无或形状的nd数组(n_targets,)
每个目标的实际迭代次数。仅适用于sag和lsqur解算器。其他求解器将返回无。
Added in version 0.17.
- n_features_in_int
期间看到的功能数量 fit .
Added in version 0.24.
- feature_names_in_ :nd形状数组 (
n_features_in_
,)nd数组形状( Names of features seen during fit. Defined only when
X
has feature names that are all strings.Added in version 1.0.
- solver_str
The solver that was used at fit time by the computational routines.
Added in version 1.5.
参见
RidgeClassifier
山脊分类器。
RidgeCV
岭回归与内置的交叉验证。
KernelRidge
核岭回归将岭回归与核技巧结合起来。
注意到
正规化改进了问题的条件条件并减少了估计的方差。值越大,规范化越强。Alpha对应于
1 / (2C)
在其他线性模型中,LogisticRegression
或LinearSVC
.示例
>>> 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=None)[源代码]#
适合岭回归模型。
- 参数:
- X{ndarray,sparse matrix}的形状(n_samples,n_features)
训练数据。
- y形状的nd数组(n_samples,)或(n_samples,n_targets)
目标值。
- sample_weight形状的float或nd数组(n_samples,),默认=无
Individual weights for each sample. If given a float, every sample will have the same weight.
- 返回:
- self对象
拟合估计量。
- get_metadata_routing()[源代码]#
获取此对象的元数据路由。
请检查 User Guide 关于路由机制如何工作。
- 返回:
- routingMetadataRequest
A
MetadataRequest
封装路由信息。
- get_params(deep=True)[源代码]#
获取此估计器的参数。
- 参数:
- deep布尔,默认=True
如果为True,将返回此估计量和包含的作为估计量的子对象的参数。
- 返回:
- paramsdict
参数名称映射到其值。
- predict(X)[源代码]#
Predict using the linear model.
- 参数:
- X类阵列或稀疏矩阵,形状(n_samples,n_features)
样品
- 返回:
- C数组,形状(n_samples,)
返回预测值。
- score(X, y, sample_weight=None)[源代码]#
返回预测的决定系数。
决定系数 \(R^2\) 被定义为 \((1 - \frac{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形状类似阵列(n_samples,n_features)
Test samples. For some estimators this may be a precomputed kernel matrix or a list of generic objects instead with shape
(n_samples, n_samples_fitted)
, wheren_samples_fitted
is the number of samples used in the fitting for the estimator.- y形状的类似阵列(n_samples,)或(n_samples,n_outputs)
真正的价值观
X
.- sample_weight形状类似数组(n_samples,),默认=无
样本重量。
- 返回:
- score浮子
\(R^2\) 的
self.predict(X)
w.r.t.y
.
注意到
的 \(R^2\) 呼叫时使用的分数
score
在回归器上使用multioutput='uniform_average'
从0.23版本开始,与默认值保持一致r2_score
.这影响了score
所有多输出回归器的方法(除了MultiOutputRegressor
).
- set_fit_request(*, sample_weight: bool | None | str = '$UNCHANGED$') Ridge [源代码]#
请求元数据传递给
fit
法请注意,此方法仅适用于以下情况
enable_metadata_routing=True
(见sklearn.set_config
).请参阅 User Guide 关于路由机制如何工作。The options for each parameter are:
True
:元数据被请求并传递给fit
如果提供的话。如果未提供元数据,则会忽略请求。False
:未请求元数据,元估计器不会将其传递给fit
.None
:不请求元数据,如果用户提供元估计器,则元估计器将引发错误。str
:元数据应通过此给定别名而不是原始名称传递给元估计器。
默认 (
sklearn.utils.metadata_routing.UNCHANGED
)保留现有请求。这允许您更改某些参数的请求,而不是其他参数。Added in version 1.3.
备注
只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在
Pipeline
.否则就没有效果了。- 参数:
- sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged
元数据路由
sample_weight
参数fit
.
- 返回:
- self对象
更新的对象。
- set_params(**params)[源代码]#
设置此估计器的参数。
该方法适用于简单估计器以及嵌套对象(例如
Pipeline
).后者具有以下形式的参数<component>__<parameter>
以便可以更新嵌套对象的每个组件。- 参数:
- **paramsdict
估计参数。
- 返回:
- self估计器实例
估计实例。
- set_score_request(*, sample_weight: bool | None | str = '$UNCHANGED$') Ridge [源代码]#
请求元数据传递给
score
法请注意,此方法仅适用于以下情况
enable_metadata_routing=True
(见sklearn.set_config
).请参阅 User Guide 关于路由机制如何工作。The options for each parameter are:
True
:元数据被请求并传递给score
如果提供的话。如果未提供元数据,则会忽略请求。False
:未请求元数据,元估计器不会将其传递给score
.None
:不请求元数据,如果用户提供元估计器,则元估计器将引发错误。str
:元数据应通过此给定别名而不是原始名称传递给元估计器。
默认 (
sklearn.utils.metadata_routing.UNCHANGED
)保留现有请求。这允许您更改某些参数的请求,而不是其他参数。Added in version 1.3.
备注
只有当该估计器用作元估计器的子估计器时,该方法才相关,例如在
Pipeline
.否则就没有效果了。- 参数:
- sample_weight字符串、真、假或无, 默认=sklearn.utils. metalics_Routing.UNChanged
元数据路由
sample_weight
参数score
.
- 返回:
- self对象
更新的对象。