當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn RidgeClassifier用法及代碼示例


本文簡要介紹python語言中 sklearn.linear_model.RidgeClassifier 的用法。

用法:

class sklearn.linear_model.RidgeClassifier(alpha=1.0, *, fit_intercept=True, normalize='deprecated', copy_X=True, max_iter=None, tol=0.001, class_weight=None, solver='auto', positive=False, random_state=None)

使用嶺回歸的分類器。

該分類器首先將目標值轉換為{-1, 1},然後將問題視為回歸任務(多類情況下的multi-output回歸)。

在用戶指南中閱讀更多信息。

參數

alpha浮點數,默認=1.0

正則化強度;必須是正浮點數。正則化改善了問題的條件並減少了估計的方差。較大的值指定更強的正則化。 Alpha 對應於其他線性模型中的 1 / (2C),例如 LogisticRegression LinearSVC

fit_intercept布爾,默認=真

是否計算此模型的截距。如果設置為 false,則不會在計算中使用截距(例如,預計數據已經居中)。

normalize布爾,默認=假

fit_intercept 設置為 False 時忽略此參數。如果為 True,則回歸量 X 將在回歸前通過減去均值並除以 l2 範數進行歸一化。如果您希望標準化,請在使用 normalize=False 對估計器調用 fit 之前使用 StandardScaler

copy_X布爾,默認=真

如果為 True,則 X 將被複製;否則,它可能會被覆蓋。

max_iter整數,默認=無

共軛梯度求解器的最大迭代次數。默認值由 scipy.sparse.linalg 確定。

tol浮點數,默認=1e-3

解決方案的精度。

class_weightdict或‘balanced’,默認=無

{class_label: weight} 形式的類關聯的權重。如果沒有給出,所有的類都應該有一個權重。

“balanced” 模式使用 y 的值自動調整與輸入數據中的類頻率成反比的權重,如 n_samples / (n_classes * np.bincount(y))

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 數據(可以設置 tolmax_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 時才能使用。

positive布爾,默認=假

當設置為 True 時,強製係數為正。在這種情況下,僅支持 ‘lbfgs’ 求解器。

random_stateint,RandomState 實例,默認=無

solver == ‘sag’ 或 ‘saga’ 時使用以打亂數據。詳細信息請參見術語表。

屬性

coef_ndarray 形狀 (1, n_features) 或 (n_classes, n_features)

決策函數中特征的係數。

當給定問題是二進製時,coef_ 的形狀為 (1, n_features)。

intercept_形狀的浮點數或 ndarray (n_targets,)

決策函數中的獨立項。如果 fit_intercept = False 則設置為 0.0。

n_iter_無或形狀的 ndarray (n_targets,)

每個目標的實際迭代次數。僅適用於 sag 和 lsqr 求解器。其他求解器將返回 None。

classes_ndarray 形狀 (n_classes,)

類標簽。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

擬合期間看到的特征名稱。僅當 X 具有全為字符串的函數名稱時才定義。

注意

對於多類分類,n_class 分類器采用 one-versus-all 方法進行訓練。具體來說,這是通過利用 Ridge 中的 multi-variate 響應支持來實現的。

例子

>>> from sklearn.datasets import load_breast_cancer
>>> from sklearn.linear_model import RidgeClassifier
>>> X, y = load_breast_cancer(return_X_y=True)
>>> clf = RidgeClassifier().fit(X, y)
>>> clf.score(X, y)
0.9595...

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.linear_model.RidgeClassifier。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。