本文簡要介紹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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。