以块的形式训练数据集上的SGDRegressor

Lea*_*ner 3 python machine-learning scikit-learn

对于机器学习任务,我需要处理相当大的数据集.结果,我无法在我的算法中同时适应整个数据集.我正在寻找一种方法来训练我的算法在数据集的部分,简单地提供新的块将无法工作,因为我的算法将只是重新安装,而不会考虑前面的例子.有没有一种方法可以用来为我的算法提供新的数据,同时"记住"之前看过的数据?

编辑:我使用的算法是来自scikit-learn的SGDRegressor.

代码:

train = pd.read_csv(os.path.join(dir,"Train.csv"),chunksize = 5000)
labels = pd.read_csv(os.path.join(dir,"Labels.csv"),chunksize = 5000)
algo = SGDRegressor(n_iter = 75)
print("looping for chunks in train")
for chunk in train:
    algo.fit(train,labels)
Run Code Online (Sandbox Code Playgroud)

alk*_*lko 6

您可以使用partial_fit将部分培训数据提供给SGDRegressor.

请参阅示例中的示例代码.