2017-10-09 81 views
0

我在机器学习线性回归问题的工作在我的火车文件大约是8GB。线性回归机器学习训练模型与庞大的数据

虽然我的TP是高配置的,它不支持。因此,我可以将训练文件分成 10/20文件并逐个训练这些文件的模型,而不是将整个文件传递给训练目的。

请问这种方法工作或做我必须培养与整个数据模型在一杆?

+0

你能够提供更多的信息?你有什么尝试?为什么不能运行8gb文件(对于大多数机器学习来说相对较小)?你为机器学习使用什么?这些信息将帮助我们给出更好的答案,谢谢! –

+0

我们在说什么样的数据,你能给我一个样本吗?什么是你的机器的规格和8Gb不是一个非常小的数据集,但它并不是很大!尽管以大块方式运行它并不是什么大问题,但首先我们需要信息! –

+0

嗨史蒂夫,我试图预测使用线性回归支付金额的价值。您能否建议如何继续。请找到下面的代码: –

回答

0

没错,就是工作。这就是所谓的随机梯度下降法,它是一种标准的训练方式,当你的数据不能适应内存时。

随机的意思是“随机性”,被称为是因为你没有以下所有数据的实际坡度,但你的梯度基于一些数据的近似。即使您并不总是按照正确的方向进行更新,只要您的步长足够小并且批次足够大,该步骤仍然可以很好地工作。

但是,请注意:您无法一个接一个地训练它在每个文件上完成。如果你这样做,对第二个文件的训练将导致它忘记它在第一个文件上学到的值。

相反,你应该训练它在他们所谓的数据“批”的东西,做每批一个更新的一步。

所以,这是不好的:

for file in files: 
    while not Model.stop_condition(): 
     Model.train_step(file) 

这是很好的:

while not Model.stop_condition(): 
    for file in files: 
     Model.train_step(file) 
+0

嗨,山姆,感谢您的解决方案。如果您提供一些参考代码,特别是一个接一个地读取.csv文件并训练模型,这将非常有帮助。 –

相关问题