对于机器学习任务,我需要处理相当大的数据集。结果,我无法在我的算法中一次拟合整个数据集。我正在寻找一种方法来在数据集上部分训练我的算法,简单地提供新 block 是行不通的,因为我的算法将只是 retrofit 而不是不会考虑以前的例子。有没有一种方法可以为我的算法提供新数据,同时“记住”之前看到的先前数据?
编辑:我使用的算法是来自 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)
最佳答案
您可以使用 partial_fit
将部分训练数据提供给 SGDRegressor。
参见 sample code在示例中。
关于python - 在数据集上分块训练 SGDRegressor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20643300/