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


Python sklearn PassiveAggressiveClassifier用法及代碼示例


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

用法:

class sklearn.linear_model.PassiveAggressiveClassifier(*, C=1.0, fit_intercept=True, max_iter=1000, tol=0.001, early_stopping=False, validation_fraction=0.1, n_iter_no_change=5, shuffle=True, verbose=0, loss='hinge', n_jobs=None, random_state=None, warm_start=False, class_weight=None, average=False)

被動攻擊分類器。

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

參數

C浮點數,默認=1.0

最大步長(正則化)。默認為 1.0。

fit_intercept布爾,默認=真

是否應該估計截距。如果為 False,則假定數據已經居中。

max_iter整數,默認=1000

訓練數據的最大傳遞次數(又名 epochs)。它隻影響fit 方法中的行為,而不影響partial_fit 方法中的行為。

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

停止標準。如果不是 None,迭代將在 (loss > previous_loss - tol) 時停止。

early_stopping布爾,默認=假

驗證時是否使用提前停止終止訓練。分數沒有提高。如果設置為 True,它將自動將訓練數據的分層部分留作驗證,並在驗證分數沒有至少提高 n_iter_no_change 個連續 epoch 時終止訓練。

validation_fraction浮點數,默認=0.1

留出作為提前停止驗證集的訓練數據的比例。必須介於 0 和 1 之間。僅在 early_stopping 為 True 時使用。

n_iter_no_change整數,默認=5

在提前停止之前等待沒有改進的迭代次數。

shuffle布爾,默認=真

是否應該在每個 epoch 之後對訓練數據進行洗牌。

verbose整數,默認=0

詳細程度。

lossstr,默認=”hinge”

要使用的損失函數:鉸鏈:相當於參考論文中的PA-I。 squared_hinge:相當於參考論文中的PA-II。

n_jobsint 或無,默認=無

用於進行 OVA(One Versus All,針對多類問題)計算的 CPU 數量。 None 表示 1,除非在 joblib.parallel_backend 上下文中。 -1 表示使用所有處理器。有關更多詳細信息,請參閱術語表。

random_stateint,RandomState 實例,默認=無

shuffle 設置為 True 時,用於對訓練數據進行洗牌。傳遞 int 以獲得跨多個函數調用的可重現輸出。請參閱詞匯表。

warm_start布爾,默認=假

當設置為 True 時,重用之前調用的解決方案作為初始化,否則,隻需擦除之前的解決方案。請參閱詞匯表。

當 warm_start 為 True 時重複調用 fit 或 partial_fit 可能會導致與單次調用 fit 時不同的解決方案,因為數據被打亂的方式。

class_weightdict, {class_label: weight} 或 “balanced” 或無,默認=無

class_weight 擬合參數的預設。

與類相關的權重。如果沒有給出,所有的類都應該有一個權重。

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

averagebool 或 int,默認 = False

當設置為 True 時,計算平均 SGD 權重並將結果存儲在 coef_ 屬性中。如果設置為大於 1 的 int,則一旦看到的樣本總數達到平均值,就會開始平均。所以 average=10 將在看到 10 個樣本後開始平均。

屬性

coef_ndarray of shape (1, n_features) if n_classes == 2 else (n_classes, n_features)

分配給特征的權重。

intercept_ndarray 形狀 (1,) if n_classes == 2 else (n_classes,)

決策函數中的常數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

n_iter_int

達到停止標準的實際迭代次數。對於多類擬合,它是每個二元擬合的最大值。

classes_ndarray 形狀 (n_classes,)

唯一的類標簽。

t_int

訓練期間執行的權重更新次數。與 (n_iter_ * n_samples) 相同。

loss_function_可調用的

算法使用的損失函數。

參考

在線Passive-Aggressive算法<http://jmlr.csail.mit.edu/papers/volume7/crammer06a/crammer06a.pdf> K. Crammer、O. Dekel、J. Keshat、S. Shalev-Shwartz、Y. Singer - JMLR (2006)

例子

>>> from sklearn.linear_model import PassiveAggressiveClassifier
>>> from sklearn.datasets import make_classification
>>> X, y = make_classification(n_features=4, random_state=0)
>>> clf = PassiveAggressiveClassifier(max_iter=1000, random_state=0,
... tol=1e-3)
>>> clf.fit(X, y)
PassiveAggressiveClassifier(random_state=0)
>>> print(clf.coef_)
[[0.26642044 0.45070924 0.67251877 0.64185414]]
>>> print(clf.intercept_)
[1.84127814]
>>> print(clf.predict([[0, 0, 0, 0]]))
[1]

相關用法


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