【问题标题】:Why does sklearn RidgeCV not have an n_jobs argument?为什么 sklearn RidgeCV 没有 n_jobs 参数?
【发布时间】:2021-01-26 03:41:36
【问题描述】:

为什么 sklearn 的 RidgeCV 没有 n_jobs 作为参数? LassoCVLogisticRegressionCV 都将它作为参数。

【问题讨论】:

    标签: python-3.x scikit-learn


    【解决方案1】:

    前提是我的只是一个受过教育的猜测;如您所见,here 正在尝试丰富与使用 n_jobs 相关的文档。

    尽管如此,答案可能在docs 中针对交叉验证估计器所写的内容中找到:

    交叉验证估计器的一些示例是 ElasticNetCV 和 LogisticRegressionCV。交叉验证估计器被命名为 EstimatorCV 并且往往大致等同于 GridSearchCV(Estimator(), ...)。使用交叉验证估计器优于规范估计器类以及网格搜索的优势在于,它们可以通过在交叉验证过程的先前步骤中重用预先计算的结果来利用热启动。这通常会导致速度提高。 一个例外是 RidgeCV 类,它可以执行高效的 Leave-One-Out CV。

    基本上,RidgeCV 的使用与其他交叉验证估计器的使用略有不同(例如,LogisticRegressionCVLassoCVElasticNetCV)。

    • 前者(只要与默认cv=None一起使用)实现Ridge regression with built-in Leave-one-out Cross-Validation;每当cv is not None 时,它都会使用默认n_jobs=None 实现GridSearchCV(Ridge())
    • 后者确实实现了更标准的 cv 策略,具有上述使用 GridSearchCV(Estimator()) 的优势。

    最终,在最近的thread 中可能会找到一些其他有用的信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-29
      • 2020-12-20
      • 2017-08-08
      • 2017-01-29
      • 2015-01-29
      • 1970-01-01
      • 2019-05-24
      • 2013-01-29
      相关资源
      最近更新 更多