python - 在数据集上分块训练 SGDRegressor

标签 python machine-learning scikit-learn

对于机器学习任务,我需要处理相当大的数据集。结果,我无法在我的算法中一次拟合整个数据集。我正在寻找一种方法来在数据集上部分训练我的算法,简单地提供新 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/

相关文章:

python,使用逻辑回归来查看哪个变量对积极预测增加了更多权重

python - Scikit-learn 混淆矩阵

python - 如何在 python 中使用 "import"?

python - 通过 Python winreg 在注册表中设置 Windows 系统 PATH

c# - ML.net - 列标签中第 1 行的错误值

python - 使用Python访问带有可变列名的SQL

machine-learning - 克服使用 h2o 模型中的 IML 的兼容性问题

python - 使用 scikit 时 scipy.sparse 矩阵的缩放问题

python - set_markersize 不适用于右侧轴

python - scrapy中如何处理302重定向