2017-10-09 121 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文件並訓練模型,這將非常有幫助。 –

相關問題