sklearn Logistic回归中的C参数是啥?

Posted

技术标签:

【中文标题】sklearn Logistic回归中的C参数是啥?【英文标题】:what is C parameter in sklearn Logistic Regression?sklearn Logistic回归中的C参数是什么? 【发布时间】:2021-08-03 08:58:10 【问题描述】:

sklearn.linear_model.LogisticRegression中的C参数是什么意思?它如何影响决策边界? C 的高值会使决策边界非线性吗?如果我们将决策边界可视化,逻辑回归的过拟合情况如何?

【问题讨论】:

这能回答你的问题吗? What is the inverse of regularization strength in Logistic Regression? How should it affect my code? 它只回答了问题的第一部分(C 参数的含义是什么)。我关心可视化部分(即它如何影响决策边界的形状)。我希望有人能提供一个可视化的例子。 我可以想象非线性决策边界(波浪线)的过拟合情况,但对于逻辑回归等线性模型,我们如何想象使用不同 C 值的决策边界的形状? 【参考方案1】:

来自文档:

C:浮动,默认=1.0 正则化强度的倒数;必须是正浮点数。与支持向量机一样,较小的值指定更强的正则化。

如果您不理解这一点,Cross Validated 可能是比这里更好的提问方式。

虽然 CS 人员经常将函数的所有参数称为“参数”,但在机器学习中,C 被称为“超参数”。参数是告诉模型如何处理特征的数字,而超参数告诉模型如何选择参数。

正则化通常是指对于更极端的参数应该有复杂性惩罚的概念。这个想法是,仅查看训练数据而不注意参数的极端程度会导致过度拟合。较高的 C 值告诉模型对训练数据给予较高的权重,而对复杂性惩罚给予较低的权重。较低的值告诉模型以适应训练数据为代价给予这种复杂性惩罚更多的权重。基本上,高 C 表示“非常信任这个训练数据”,而低值表示“这个数据可能不能完全代表真实世界的数据,所以如果它告诉你让参数变得非常大,不要听给它”。

https://en.wikipedia.org/wiki/Regularization_(mathematics)

【讨论】:

请您提供一个示例,说明低 C 值和高 C 值之间决策边界的差异?据我所知,逻辑回归总是有一个线性决策边界,那么对于大 C 值,它如何具有灵活的决策边界?

以上是关于sklearn Logistic回归中的C参数是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何消除 _logistic 回归上的 sklearn 警告

sklearn中的SGDClassifier

用于Logistic回归评估的Sklearn Python Log Loss引发了错误

用于 Logistic 回归评估的 Sklearn Python Log Loss 引发错误

Sklearn - 从Logistic回归中返回前三类

spss中的多元logistic回归中的协变量是啥意思