文章目录
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,
具有 l2 正则化的线性最小二乘。
最小化目标函数:
∣
∣
y
−
X
w
∣
∣
2
2
+
a
l
p
h
a
∗
∣
∣
w
∣
∣
2
2
||y - Xw||^2_2 + alpha * ||w||^2_2
∣∣y−Xw∣∣22+alpha∗∣∣w∣∣22
Parameters:
alpha:
{float, ndarray of shape (n_targets,)}, 默认=1.0- 乘以 L2 项的常数,控制正则化强度。 alpha 必须是非负浮点数,即在 [0, inf) 中。
- 当 alpha = 0 时,目标等效于普通最小二乘,由 LinearRegression 对象解决。 出于数字原因,不建议对 Ridge 对象使用 alpha = 0。 相反,您应该使用 LinearRegression 对象。
- 如果传递了一个数组,则假定惩罚是特定于目标的。 因此,它们必须在数量上对应。
- fit_interceptbool, default=True
- 是否适合此模型的截距。 如果设置为 false,则不会在计算中使用截距(即 X 和 y 应该居中)。
>>> 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()