【问题标题】:Mini batch-training of a scikit-learn classifier where I provide the mini batches我提供小批量的 scikit-learn 分类器的小批量训练
【发布时间】:2018-04-06 05:29:52
【问题描述】:

我有一个非常大的数据集,无法加载到内存中。

我想将此数据集用作 scikit-learn 分类器的训练集 - 例如 LogisticRegression

是否有可能对我提供小批量的 scikit-learn 分类器进行小批量训练?

【问题讨论】:

    标签: python scikit-learn bigdata


    【解决方案1】:

    我相信sklearn 中的一些分类器有一个partial_fit 方法。此方法允许您将小批量数据传递给分类器,以便为每个小批量执行梯度下降步骤。您只需从磁盘加载一个小批量,将其传递给partial_fit,从内存中释放小批量,然后重复。

    如果您对逻辑回归特别感兴趣,那么您会想要使用SGDClassifier,它可以设置为在loss = 'log' 时使用逻辑回归。

    您只需将小批量的特征和标签传递给partial_fit,就像使用fit一样:

    clf.partial_fit(X_minibatch, y_minibatch)

    更新

    我最近遇到了dask-ml library,通过将dask 数组与partial_fit 结合使用,可以轻松完成这项任务。链接网页上有一个示例。

    【讨论】:

    • 你也可以部分适配LogisticRegression实例
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2019-06-09
      • 2013-06-07
      • 2018-07-25
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多