本文简要介绍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,则不会在计算中使用截距(即
X
和y
预计会居中)。- 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 数据(可以设置
tol
和max_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_state:int,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()
相关用法
- Python sklearn RidgeCV用法及代码示例
- Python sklearn RidgeClassifierCV用法及代码示例
- Python sklearn RidgeClassifier用法及代码示例
- Python sklearn RandomTreesEmbedding用法及代码示例
- Python sklearn RocCurveDisplay用法及代码示例
- Python sklearn RadiusNeighborsTransformer用法及代码示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors_graph用法及代码示例
- Python sklearn RandomizedSearchCV用法及代码示例
- Python sklearn RFE用法及代码示例
- Python sklearn RadiusNeighborsClassifier用法及代码示例
- Python sklearn RegressorChain用法及代码示例
- Python sklearn RandomForestClassifier用法及代码示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors_graph用法及代码示例
- Python sklearn RANSACRegressor用法及代码示例
- Python sklearn RobustScaler用法及代码示例
- Python sklearn RandomForestRegressor用法及代码示例
- Python sklearn RepeatedStratifiedKFold用法及代码示例
- Python sklearn RocCurveDisplay.from_estimator用法及代码示例
- Python sklearn RadiusNeighborsRegressor用法及代码示例
- Python sklearn RBF用法及代码示例
- Python sklearn RadiusNeighborsTransformer.radius_neighbors用法及代码示例
- Python sklearn RocCurveDisplay.from_predictions用法及代码示例
- Python sklearn RadiusNeighborsRegressor.radius_neighbors用法及代码示例
- Python sklearn RepeatedKFold用法及代码示例
- Python sklearn RBFSampler用法及代码示例
注:本文由纯净天空筛选整理自scikit-learn.org大神的英文原创作品 sklearn.linear_model.Ridge。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。