如何在 sklearn LogisticRegression 函数中计算 L2(ridge)惩罚?
How is L2 (ridge) penalty calculated in sklearn LogisticRegression function?
例如,在 Python 中对我的数据执行以下逻辑回归模型时。 . .
### Logistic regression with ridge penalty (L2) ###
from sklearn.linear_model import LogisticRegression
log_reg_l2_sag = LogisticRegression(penalty='l2', solver='sag', n_jobs=-1)
log_reg_l2_sag.fit(xtrain, ytrain)
我没有指定脊线惩罚值的范围。最佳岭惩罚是用公式明确计算的(就像普通最小二乘岭回归所做的那样),还是从惩罚值的默认范围中选择最佳惩罚?文档对此并不清楚。
据我了解你的问题。您想知道 'L2' 正则化在逻辑回归的情况下是如何工作的。就像如何找到最佳值一样。
我们在这里没有给出像 [0.0001, 0.01 ] 这样的网格,因为使用 LogisticRegression 的 'solver' 参数可以找到最佳值。
您的情况下的求解器是随机平均梯度下降,它可以找出 L2 正则化的最佳值。
L2 正则化将保留所有列,使最不重要参数的系数接近于 0。
例如,在 Python 中对我的数据执行以下逻辑回归模型时。 . .
### Logistic regression with ridge penalty (L2) ###
from sklearn.linear_model import LogisticRegression
log_reg_l2_sag = LogisticRegression(penalty='l2', solver='sag', n_jobs=-1)
log_reg_l2_sag.fit(xtrain, ytrain)
我没有指定脊线惩罚值的范围。最佳岭惩罚是用公式明确计算的(就像普通最小二乘岭回归所做的那样),还是从惩罚值的默认范围中选择最佳惩罚?文档对此并不清楚。
据我了解你的问题。您想知道 'L2' 正则化在逻辑回归的情况下是如何工作的。就像如何找到最佳值一样。 我们在这里没有给出像 [0.0001, 0.01 ] 这样的网格,因为使用 LogisticRegression 的 'solver' 参数可以找到最佳值。 您的情况下的求解器是随机平均梯度下降,它可以找出 L2 正则化的最佳值。 L2 正则化将保留所有列,使最不重要参数的系数接近于 0。