在 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 逻辑回归中向求解器提供种子值的主要内容,如果未能解决你的问题,请参考以下文章