所以發生了什麼是我有一個長度爲860K,寬度大約爲520列的數據集(其中絕大多數是布爾值,表示一個字或者出現或者不出現在給定的文本中)。我想從這個數據集建立一個模型來預測給定的存在使用caret
包的各種單詞的評級。然而,即使36gb的ram也不足以一次運行它(顯然我只會在大約60萬次訓練,但仍然)。我設法完成了約25k的記錄。所以這讓我相信我最好的選擇是每次訓練25K條記錄,然後合併模型。但我不確定如何做到這一點,或者如果這是最好的方法。有沒有人有建議?我厭倦了我的電腦在6小時內慢慢爬行,然後在內存不足時發生錯誤。拆分數據,在拆分數據上訓練模型,然後在R中重新組合結果R
0
A
回答
0
首先,插頁甚至支持合併培訓嗎?你正在建造什麼樣的模型?我通常使用的那些無法合併部分訓練集。我知道你已經問過這個問題,但是如果沒有對這個問題的肯定答案,整個解決方案的一個分支就會消失。
是否有預期的單詞之間的交叉相關性,例如某個對的存在會產生與您單獨使用每個單詞所得到的顯着不同的評級?如果這些詞出現獨立,那麼我的第一個想法是拆分列而不是行,並嘗試依賴性地訓練批量詞語。
您的描述意味着一個整數(短)評級,一個好的400位,然後可能是100個其他項目的整數矩陣 - 整數?由此,我推導出一個小於500字節的記錄大小。那些佔用不到500Mb的860k。如果我們不包裝布爾值,它仍然低於1Gb。是否有更好的映射 - 解開每個記錄可能會有輕微的性能損失 - 解決問題?稀疏矩陣如何?幾乎所有這些布爾人都是假的,恩?
你真的需要每字超過1k行訓練嗎?你可以把它縮小到一個易處理的大小,特別是如果重新格式化數據表示能夠爲你節省大部分但不是全部的空間,
相關問題
- 1. 拆分數據設置爲組,然後按年齡拆分這些組R
- 2. 在MATLAB中將數據拆分爲訓練/測試數據集?
- 3. 拆分後重新組裝數據幀
- 4. R:分組/按類別組合拆分數據集apply.weekly()
- 5. 將數據分區創建爲訓練,測試和驗證 - 拆分R
- 6. R - 組合和拆分大型數據。框架
- 7. 如何使用R中的舊模型+新數據塊重新訓練模型?
- 8. 如何在R中將數據幀拆分/分組爲多個數據框
- 9. 將R數據幀拆分爲幾行
- 10. R rfcv無法拆分數據
- 11. 拆分列數據,添加數據,重新合併在一起
- 12. 在R中拆分數據幀的一部分
- 13. 如何在測試和訓練集中拆分數據幀時保留所有級別的分類變量R
- 14. 拆分數據集並將子集並行傳遞到函數,然後重新組合結果
- 15. * ngfor數組拆分數據
- 16. 將分區數據集拆分爲訓練和測試(訓練數據每個類有200個示例)
- 17. 拆分中的R
- 18. 拆分中的R
- 19. 在ASP.NET中拆分數據
- 20. R:拆分字符串&根據拆分分配變量
- 21. 將ffdf數據拆分爲日,月和年R中的數據
- 22. 的R - 無需拆卸NA拆分數據幀值
- 23. - [R 2分結合在列數據幀
- 24. 拆分數據
- 25. 拆分數據
- 26. 拆分數據
- 27. 拆分數據
- 28. 在r中使用分隔符數組拆分字符串
- 29. 在依賴列中拆分R中的矩陣或數據集
- 30. 在R拆分一個數字
如果您提供了有關您的模型結構的信息,將會有所幫助。它是什麼類型的模型,使用什麼軟件包等? –
我創建了這些尺寸的布爾矩陣,它只需要1.7Gb來存儲它。這使我認爲你的內存使用效率低下......是以邏輯或整數(甚至是數字)存儲的布爾變量嗎? – MichaelChirico
@MichaelChirico是否使用稀疏矩陣('庫(Matrix)')?這可能會使內存效率更高。 –