【问题标题】:How to perform an unregularized logistic regression using scikit-learn?如何使用 scikit-learn 执行非正则化逻辑回归?
【发布时间】:2017-09-11 21:01:51
【问题描述】:

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

【问题讨论】:

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


    【解决方案1】:

    不,不是那样的。

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

    我们看到:

    • C 乘以损失,而左项(正则化)保持不变

    这意味着:

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2016-06-17
        • 2016-02-21
        • 2017-03-31
        • 2018-01-14
        • 2017-02-20
        • 2016-12-27
        • 2018-05-19
        • 2016-02-21
        • 2018-03-01
        相关资源
        最近更新 更多