簡體   English   中英

sklearn LogisticRegression 沒有正則化

[英]sklearn LogisticRegression without regularization

sklearn 中的邏輯回歸類帶有 L1 和 L2 正則化。 如何關閉正則化以獲得“原始”邏輯擬合,例如 Matlab 中的 glmfit? 我想我可以設置 C = 大數,但我不認為這是明智的。

有關更多詳細信息,請參閱文檔http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html#sklearn.linear_model.LogisticRegression

是的,選擇盡可能大的數字。 在正則化中,代價函數包含一個正則化表達式,請記住,sklearn 正則化中的C參數是正則化強度的倒數。

C在這種情況下為1 /λ,受試者的條件是C > 0。

因此,當C接近無窮大時,則 lambda 接近 0。當發生這種情況時,成本函數將成為您的標准誤差函數,因為從所有意圖和目的來看,正則化表達式都變為 0。

更新:在 sklearn 0.21 及更高版本中,您可以通過傳入penalty='none'來禁用正則化。 此處查看文檔。

繼續並根據需要將 C 設置為大。 此外,請確保使用 l2,因為帶有該實現的 l1 可能會非常緩慢。

我遇到了同樣的問題,除了其他答案外,我還嘗試了答案:

如果將 C 設置為較大的值對您不起作用,請同時設置penalty='l1'

暫無
暫無

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

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