在處理機(jī)器學(xué)習(xí)算法時(shí),因?yàn)閿?shù)據(jù)庫太大而無法放置進(jìn)內(nèi)存的情況很常見。
十年的惠水網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。營(yíng)銷型網(wǎng)站建設(shè)的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整惠水建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)公司從事“惠水網(wǎng)站設(shè)計(jì)”,“惠水網(wǎng)站推廣”以來,每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
這就引出了如下的問題:
如何加載我的大容量數(shù)據(jù)文件?
當(dāng)因我嘗試運(yùn)行數(shù)據(jù)集算法而導(dǎo)致程序崩潰時(shí),我該怎么辦?
你能幫我解決內(nèi)存不足的問題嗎?
在這篇文章中, 我想找出一些你會(huì)考慮的一些建議。
分配更多內(nèi)存
某些機(jī)器學(xué)習(xí)工具或數(shù)據(jù)庫可能受到默認(rèn)內(nèi)存配置的限制。檢查是否可以重新配置工具或數(shù)據(jù)庫來使其分配到更多內(nèi)存。Weka 是一個(gè)很好的例子, 在該示例中, 您可以在啟動(dòng)應(yīng)用程序時(shí)將內(nèi)存增加為參數(shù)。
使用較小的樣本
是否確實(shí)需要處理所有數(shù)據(jù)?隨機(jī)抽取數(shù)據(jù)的樣本, 例如前1000行或10萬列。在對(duì)所有數(shù)據(jù) (使用漸進(jìn)式數(shù)據(jù)加載技術(shù)) 擬合最終模型之前, 請(qǐng)使用這個(gè)較小的示例來解決問題。
我認(rèn)為這是一個(gè)很好的做法, 在一般的機(jī)器學(xué)習(xí)中,這種方式可以讓你快速得到抽查的算法和周轉(zhuǎn)的結(jié)果。您還可以考慮,對(duì)用于匹配一個(gè)算法的數(shù)據(jù)量進(jìn)行靈敏度分析, 而不是用模型技能。也許有一個(gè)遞減反饋的自然點(diǎn), 讓你可以使用其作為你小樣本的一個(gè)合適的大小值。
使用具有更多內(nèi)存的計(jì)算機(jī)
你必須在你的電腦上工作嗎?也許你可以訪問一臺(tái)更大的計(jì)算機(jī), 是以你電腦的內(nèi)存的數(shù)量級(jí)倍數(shù)存在的那種。例如,在云服務(wù)上租用大內(nèi)存服務(wù)器就是一個(gè)好的選擇是;例如亞馬遜 Web 服務(wù), 它提供的機(jī)器的 RAM 為每小時(shí)還不到一美元。我發(fā)現(xiàn)這種方法在過去非常有用。
更改數(shù)據(jù)格式
數(shù)據(jù)是否存儲(chǔ)在原始 ASCII 文本中, 如 CSV 文件?也許您可以通過使用其他數(shù)據(jù)格式,來加快數(shù)據(jù)加載并且降低內(nèi)存的使用率。二進(jìn)制格式就是一個(gè)很好的例子, 如 GRIB、NetCDF 或HDF等格式。有許多命令行工具可用于將一種數(shù)據(jù)格式轉(zhuǎn)換為另一種不要求將整個(gè)數(shù)據(jù)集加載到內(nèi)存的格式的方法。使用另一種格式可以使您將數(shù)據(jù)存儲(chǔ)在更緊湊的窗體中, 借此節(jié)省內(nèi)存, 如2字節(jié)的整數(shù)或4字節(jié)的浮動(dòng)。
流數(shù)據(jù)或使用漸進(jìn)加載
所有的數(shù)據(jù)都需要同時(shí)存儲(chǔ)在內(nèi)存中嗎?也許您可以使用代碼或庫,將數(shù)據(jù)流逐步加載到內(nèi)存中以進(jìn)行使用。這可能需要使用優(yōu)化技術(shù) (如隨機(jī)梯度下降) 來迭代學(xué)習(xí)的算法, 而不是要求內(nèi)存中所有數(shù)據(jù)都執(zhí)行矩陣操作的算法, 如某些線性和邏輯回歸的實(shí)現(xiàn)。例如, Keras 深層學(xué)習(xí)庫提供此功能來逐步加載圖像文件, 并稱為flow_from_directory。另一個(gè)例子是可以在大塊中加載大的 CSV 文件的熊貓庫(Pandas)。
使用關(guān)聯(lián)數(shù)據(jù)庫
關(guān)系數(shù)據(jù)庫提供了一種存儲(chǔ)和訪問非常大的數(shù)據(jù)集的標(biāo)準(zhǔn)方法。從內(nèi)部來看,存儲(chǔ)在磁盤上的數(shù)據(jù)可以逐步加載, 并可以使用標(biāo)準(zhǔn)查詢語言 (SQL) 來進(jìn)行查詢。可以使用諸如MySQL或Postgres這樣的免費(fèi)開源數(shù)據(jù)庫工具, 而且大多數(shù) (也許是所有?) 編程語言和許多機(jī)器學(xué)習(xí)工具都可以直接連接到關(guān)聯(lián)數(shù)據(jù)庫。您還可以使用輕量級(jí)方法, 如SQLite。我在過去發(fā)現(xiàn)這種方法對(duì)于非常大的表格數(shù)據(jù)集非常有效。同樣, 您可能需要使用可以處理迭代學(xué)習(xí)的算法。
使用大型數(shù)據(jù)平臺(tái)
在某些情況下, 您可能需要求助于一個(gè)大的數(shù)據(jù)平臺(tái)。這是一個(gè)為了處理非常大的數(shù)據(jù)集而設(shè)計(jì)的平臺(tái), 它允許您在上面使用數(shù)據(jù)轉(zhuǎn)換和機(jī)器學(xué)習(xí)算法。兩個(gè)好例子是用Mahout機(jī)器學(xué)習(xí)庫的Hadoop以及用MLLib庫的Spark。我相信當(dāng)你已經(jīng)用盡上述方法,這是會(huì)是解決這個(gè)問題的終極方法。然而, 在一些數(shù)據(jù)集非常非常大的情況下,之前的方法并不會(huì)是這些數(shù)據(jù)集縮短。
新聞名稱:7中方法處理ML中大型數(shù)據(jù)加載問題
文章源于:http://aaarwkj.com/article34/gpiise.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、自適應(yīng)網(wǎng)站、品牌網(wǎng)站建設(shè)、網(wǎng)站內(nèi)鏈、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)