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

时间:2017-04-15 20:59:35

标签: python-2.7 machine-learning scikit-learn logistic-regression regularized

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

2 个答案:

答案 0 :(得分:3)

不,不是那样的。

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

enter image description here

我们看到:

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

这意味着:

  • 在不修改代码的情况下,您永远无法完全关闭正则化
  • 但是:您可以通过将C设置为一个巨大的数字来近似关闭正则化!
    • 当优化尝试最小化正则化惩罚和损失的总和时,增加C会降低正则化惩罚的相关性

答案 1 :(得分:0)

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

如果它对您不起作用,请同时设置penalty='l1'