如何使用 scikit-learn 执行非正则化逻辑回归?

How to perform an unregularized logistic regression using scikit-learn?

来自 scikit-learn 的 documentation,默认惩罚为 "l2",C(正则化强度的倒数)为“1”。如果我保持这个设置 penalty='l2' 和 C=1.0,是否意味着训练算法是一个非正则化的逻辑回归?相反,当 C 不是 1.0 时,那么它就是正则化逻辑回归分类器?

不,不是那样的

让我们看看sklearn's user-guide中的定义:

我们看到:

  • C 乘以损失,而左项(正则化)未受影响

这意味着:

  • 如果不修改代码,您永远无法完全关闭正则化
  • 但是: 您可以通过将 C 设置为一个巨大的数字来大致关闭正则化!
    • 由于优化试图最小化正则化惩罚和损失的总和,增加 C 会降低正则化惩罚的相关性

首先,将 C 设置为一个较大的值(相对于您的预期系数)。

如果它不适合你,还设置penalty='l1'