Uld*_*tre 4 python bigdata scikit-learn
我有一个非常大的数据集,无法加载到内存中.
我想将此数据集用作scikit-learn分类器的训练集 - 例如a LogisticRegression.
是否有可能对我提供迷你批次的scikit-learn分类器进行小型批量培训?
我相信有些分类器sklearn有一个partial_fit方法.此方法允许您将小批量数据传递给分类器,以便为每个小批量执行梯度下降步骤.您只需从磁盘加载小批量,传递给它partial_fit,从内存中释放小批量,然后重复.
如果您对Logistic回归特别感兴趣,那么您将需要使用SGDClassifier,可以设置为使用逻辑回归时loss = 'log'.
您只需将您的小批量的功能和标签传递给partial_fit您使用的方式fit:
clf.partial_fit(X_minibatch, y_minibatch)
更新:
我最近遇到了一个dask-ml库,通过组合dask数组可以很容易地完成这个任务partial_fit.链接网页上有一个示例.