LogisticRegression惩罚集l1或l2等于使用Lasso或Ridge?

问题描述 投票:0回答:1

from sklearn.linear_model import LogisticRegression
我想知道使用
LogisticRegression(penalty='l1')
是否等于使用
Lasso()
? 或者
LogisticRegression(penalty='l2')
等于使用
Ridge()
? 我知道如果使用 Lasso alpha=1.0,如果使用 LogisticRegression() C=1.0,但是有什么区别呢? 另外,当问题是二元分类时,我应该使用它们中的哪一个? 多分类?回归? PS:我英语不太好,sry。

我知道如果使用 Lasso alpha=1.0,如果使用 LogisticRegression() C=1.0。

machine-learning classification logistic-regression
1个回答
0
投票

我的理解(仍然是一个菜鸟)是 Ridge(“具有 l2 正则化的线性最小二乘法”和 Lasso(“使用 L1 先验作为正则化器训练的线性模型”)回归是“真正的”回归算法,而 Logisitic回归(不管它的名字如何)更多的是一种分类(“逻辑回归(又名 logit,MaxEnt)分类器”)算法。根据 SciKit 文档,可以应用 L1、L2 或两者正则化。

L1 和 L2 是不同类型的正则化。 L2 添加“幅度的平方”,而 L1 添加“幅度的绝对值”

C 和 ALpha 是相关的超参数,但又不同。根据 scikit 文档:

Cfloat,默认=1.0 正则化强度的倒数;必须是正浮动。就像在支持向量机中一样,较小的值指定更强的正则化。

如果您想了解 C 参数的作用,可以查看以下内容:

© www.soinside.com 2019 - 2024. All rights reserved.