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

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

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

【问题讨论】:

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

标签: python machine-learning scikit-learn logistic-regression


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2016-12-03
    • 2020-07-27
    • 2020-10-19
    • 2020-03-22
    • 2016-12-01
    • 2017-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多