許多組織都想盡可能多地收集和利用數(shù)據(jù)感憾,從而改進業(yè)務(wù)抹恳、增加收入
和提升影響力犬辰。因此惹资,數(shù)據(jù)科學(xué)家們要面對 50GB撮慨,甚至 500GB 數(shù)據(jù)集的
場景變得越來越普遍结缚。
目前损晤,這些數(shù)據(jù)集處理起來有點麻煩。就大小而言红竭,它們可以放進你
筆記本電腦的硬盤里尤勋,但卻無法裝入內(nèi)存。所以茵宪,僅僅打開和查看它們就
很困難最冰,更何況進一步探索和分析。
處理這樣的數(shù)據(jù)集時眉厨,一般有 3 種策略锌奴。
第 1 種是對數(shù)據(jù)進行子抽樣,但它有一個明顯缺點:可能因忽略部分
數(shù)據(jù)而錯失關(guān)鍵信息憾股,甚至誤解數(shù)據(jù)表達的含義鹿蜀。
第 2 種是使用分布式計算箕慧。雖然在某些情況下這是一種有效的方法,
但是管理和維護集群會帶來巨大開銷茴恰。想象一下颠焦,要為一個剛超出內(nèi)存大
小、大概 30-50GB 的數(shù)據(jù)集就建立一套集群往枣,對我來說伐庭,這似乎有點“用
力過猛”。
第 3 種是租用一個內(nèi)存大小等同于數(shù)據(jù)集大小的強大云服務(wù)實例分冈,例
如圾另,AWS 提供了 TB 級內(nèi)存的云服務(wù)實例。但這種情況還需要管理云數(shù)
據(jù)存儲空間雕沉,并且在每次實例啟動時都要等待數(shù)據(jù)從存儲空間傳輸?shù)綄嵗?br>
另外還需要應(yīng)對數(shù)據(jù)上云的合規(guī)性問題集乔,以及忍受在遠程機器上工作帶來
的不便。更別提成本坡椒,雖然開始會比較低扰路,但隨著時間推移會快速上漲。
本文向你展示一種全新方法倔叼,它更快汗唱、更安全,可以更方便丈攒、全面地
對幾乎任意大小的數(shù)據(jù)集進行數(shù)據(jù)科學(xué)研究哩罪,只要這個數(shù)據(jù)集能裝進你的
筆記本電腦、臺式機或者服務(wù)器的硬盤里就行肥印。
Vaex
Vaex 是一個開源的 DataFrame 庫识椰,對于和你硬盤空間一樣大小的表
格數(shù)據(jù)集绝葡,它可以有效進行可視化深碱、探索、分析乃至實踐機器學(xué)習(xí)藏畅。
為實現(xiàn)這些功能敷硅,Vaex 采用內(nèi)存映射、高效的核外算法和延遲計算
等概念愉阎。所有這些都封裝為類 Pandas 的 API绞蹦,因此,任何人都能快速上手榜旦。
10 億級出租車的數(shù)據(jù)分析
為闡述這些概念幽七,我們對一個遠超出一般筆記本電腦內(nèi)存大小的數(shù)據(jù)
集進行簡單地探索分析。
這里溅呢,我們使用 New York City(NYC) Taxi 數(shù)據(jù)集澡屡,它包含了標志性
的黃色出租車 2009 年到 2015 年間超過十億次的出租車行程信息猿挚。
數(shù)據(jù)從網(wǎng)站下載,提供 CSV 格式驶鹉。完整分析可以單獨查看這個
Jupyter notebook绩蜻。
數(shù)據(jù)科學(xué)快樂!
Vaex 官方網(wǎng)站: https://vaex.io/室埋。