在 Python 逻辑回归中向求解器提供种子值

Posted

技术标签:

【中文标题】在 Python 逻辑回归中向求解器提供种子值【英文标题】:Feeding a seed value to solver in Python Logistic Regression 【发布时间】:2017-05-11 19:01:28 【问题描述】:

我正在使用 scikit-learn 的 linear_model.LogisticRegression 来执行多项逻辑回归。我想初始化求解器的种子值,即我想将求解器的初始猜测作为系数的值。

有人知道怎么做吗?我也在网上查看并筛选了代码,但没有找到答案。 谢谢!

【问题讨论】:

***.com/questions/24438779/… 根据文档显示,这些是唯一可用的选项solver : ‘newton-cg’, ‘lbfgs’, ‘liblinear’, ‘sag’, default: ‘liblinear’。此外,多项式似乎只接受'newton-cg' or 'lbfgs' 谢谢@blckbird,链接中的问题是关于更改逻辑回归结果的字段。而我想为求解器提供其估计的初始值 谢谢@DmitryPolonskiy,我知道这些是可用的选项。正如我告诉 blckbird,我想确定求解器在其近似值中使用的初始猜测。我阅读了该函数的代码,但也没有找到它。我根据逻辑分布(使用我确定的系数)生成数据,当我使用 LogisticRegression 函数确保它有效时,它不会返回我使用的值并且错误很大。这就是为什么我想尝试确定近似值的初始值(如果这不起作用,则该函数一定有问题) 【参考方案1】:

您可以使用warm_start 选项(使用solver 而不是liblinear),并在拟合之前手动设置coef_intercept_

warm_start : bool, default=False 当设置为 True 时,重用之前调用的解决方案作为初始化,否则,只需擦除之前的解决方案。对 liblinear 求解器无用。

【讨论】:

以上是关于在 Python 逻辑回归中向求解器提供种子值的主要内容,如果未能解决你的问题,请参考以下文章

逻辑回归 算法推导与基于Python的实现详解

python逻辑回归怎么求正系数

6.逻辑回归

[Python]数据挖掘梯度下降求解逻辑回归——考核成绩分类

Python中的有界逻辑回归

如何进行超参数调整?