簡體   English   中英

scikit-learn中SGDC分類器的正則化參數和迭代

[英]Regularization parameter and iteration of SGDClassifier in scikit-learn

Python scikit-learn SGDClassifier()既支持l1,l2又支持彈性,找到正則化參數的最佳值似乎很重要。

我得到了一個建議,使用SGDClassifier()和GridSearchCV()來做這件事,但在SGDClassifier中只提供正則化參數alpha 如果我使用SVM或LogisticRegression等損失函數,我認為參數優化應該有C而不是alpha。 使用Logisitic回歸或SVM時,有沒有辦法在SGDClassifier()中設置最佳參數?

另外,我還有一個關於迭代參數n_iter的問題,但我不明白這個參數是什么意思。 如果與shuffle選項一起使用,它是否像裝袋一樣工作? 所以,如果我使用l1懲罰和n_iter的大值,它會像RandomizedLasso()一樣工作嗎?

Calpha都具有相同的效果。 不同之處在於術語的選擇。 C1/alpha成比例。 你應該使用GridSearchCV以相同的方式選擇alphaC ,但是記住更高的C更有可能過度擬合,而較低的alpha更容易過度擬合。

L2將產生具有許多小系數的模型,其中L1將選擇具有大量0系數和幾個大系數的模型。 彈性網是兩者的結合。

SGDClassifier使用隨機梯度下降,其中數據通過樣本逐個學習算法。 n_iter告訴它應該對數據傳遞多少次。 隨着迭代次數的增加和學習率的下降,SGD變得更像批量梯度下降,但它也變得更慢。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM