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。
我的理解(仍然是一个菜鸟)是 Ridge(“具有 l2 正则化的线性最小二乘法”和 Lasso(“使用 L1 先验作为正则化器训练的线性模型”)回归是“真正的”回归算法,而 Logisitic回归(不管它的名字如何)更多的是一种分类(“逻辑回归(又名 logit,MaxEnt)分类器”)算法。根据 SciKit 文档,可以应用 L1、L2 或两者正则化。
L1 和 L2 是不同类型的正则化。 L2 添加“幅度的平方”,而 L1 添加“幅度的绝对值”。
C 和 ALpha 是相关的超参数,但又不同。根据 scikit 文档:
Cfloat,默认=1.0 正则化强度的倒数;必须是正浮动。就像在支持向量机中一样,较小的值指定更强的正则化。
如果您想了解 C 参数的作用,可以查看以下内容: