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


Python sklearn Perceptron用法及代碼示例


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

用法:

class sklearn.linear_model.Perceptron(*, penalty=None, alpha=0.0001, l1_ratio=0.15, fit_intercept=True, max_iter=1000, tol=0.001, shuffle=True, verbose=0, eta0=1.0, n_jobs=None, random_state=0, early_stopping=False, validation_fraction=0.1, n_iter_no_change=5, class_weight=None, warm_start=False)

線性感知器分類器。

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

參數

penalty{‘l2’,'l1','elasticnet'},默認=無

要使用的懲罰(又名正則化項)。

alpha浮點數,默認=0.0001

如果使用正則化,則乘以正則化項的常數。

l1_ratio浮點數,默認=0.15

彈性網絡混合參數,帶有 0 <= l1_ratio <= 1l1_ratio=0 對應 L2 懲罰,l1_ratio=1 對應 L1。僅在 penalty='elasticnet' 時使用。

fit_intercept布爾,默認=真

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

max_iter整數,默認=1000

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

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

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

shuffle布爾,默認=真

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

verbose整數,默認=0

詳細程度。

eta0浮點數,默認=1

更新乘以的常數。

n_jobs整數,默認=無

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

random_stateint,RandomState 實例,默認=無

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

early_stopping布爾,默認=假

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

validation_fraction浮點數,默認=0.1

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

n_iter_no_change整數,默認=5

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

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

class_weight 擬合參數的預設。

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

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

warm_start布爾,默認=假

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

屬性

classes_ndarray 形狀 (n_classes,)

唯一的類標簽。

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,)

決策函數中的常數。

loss_function_混凝土LossFunction

確定算法輸出與目標值之間的損失或差異的函數。

n_features_in_int

擬合期間看到的特征數。

feature_names_in_ndarray 形狀(n_features_in_,)

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

n_iter_int

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

t_int

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

注意

Perceptron 是一種分類算法,它與 SGDClassifier 共享相同的底層實現。事實上,Perceptron() 等價於 SGDClassifier(loss="perceptron", eta0=1, learning_rate="constant", penalty=None)

參考

https://en.wikipedia.org/wiki/Perceptron and references therein.

例子

>>> from sklearn.datasets import load_digits
>>> from sklearn.linear_model import Perceptron
>>> X, y = load_digits(return_X_y=True)
>>> clf = Perceptron(tol=1e-3, random_state=0)
>>> clf.fit(X, y)
Perceptron()
>>> clf.score(X, y)
0.939...

相關用法


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