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

时间:2013-12-17 19:46:30

标签: 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)

1 个答案:

答案 0 :(得分:6)

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

请参阅示例中的sample code