如何在逻辑回归中找到 C 的最佳值?

Posted

技术标签:

【中文标题】如何在逻辑回归中找到 C 的最佳值?【英文标题】:How to find the best value of C in logistic regression? 【发布时间】:2021-11-28 07:32:01 【问题描述】:

我在 scikit-learn 中使用以下逻辑回归。

log_reg_model = LogisticRegression(max_iter=50000,C=lambda_c,penalty='l1',multi_class='ovr',class_weight='balanced',solver='liblinear')

现在我手动输入不同的 C 值(正则化强度的倒数)并检查准确度得分。有没有更好的方法让它自动找到最好的 C(正则化)?

【问题讨论】:

【参考方案1】:

您可以使用GridsearchCV 执行此操作以找到C 的最佳值。

如下:

from sklearn.model_selection import GridSearchCV

parameters = 'C':[1, 10, 20, 50]
log_reg_model = LogisticRegression(max_iter=50000,penalty='l1',multi_class='ovr',class_weight='balanced',solver='liblinear')
cv = GridSearchCV(log_reg_model, parameters)
cv.fit(X_train, y_train)
cv.best_params_

【讨论】:

以上是关于如何在逻辑回归中找到 C 的最佳值?的主要内容,如果未能解决你的问题,请参考以下文章

机器学习100天(十六):016 逻辑回归损失函数

逻辑回归寻找最佳θ向量

处理逻辑回归的 NaN(缺失)值 - 最佳实践?

如何在 scikit-learn 中使用随机逻辑回归找到最低的正则化参数 (C)?

《统计学习方法》--逻辑斯谛回归模型

《统计学习方法》--逻辑斯谛回归模型