我提供迷你批次的scikit-learn分类器的迷你批量培训

Uld*_*tre 4 python bigdata scikit-learn

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

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

是否有可能对我提供迷你批次的scikit-learn分类器进行小型批量培训?

Ang*_*ams 7

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

如果您对Logistic回归特别感兴趣,那么您将需要使用SGDClassifier,可以设置为使用逻辑回归时loss = 'log'.

您只需将您的小批量的功能和标签传递给partial_fit您使用的方式fit:

clf.partial_fit(X_minibatch, y_minibatch)

更新:

我最近遇到了一个dask-ml,通过组合dask数组可以很容易地完成这个任务partial_fit.链接网页上有一个示例.