我目前正在參加一個機器學習班,雖然工作量很瘋狂,但我非常喜歡。我最初計劃使用 R 來訓練我的資料庫,但老師建議我使用一個 FOSS 機器學習框架 H2o。
起初我有點懷疑,因為我已經對 R 掌握得不錯了,但後來我發現你可以簡單地將 H2o 作為 R 庫匯入。H2o 將大多數 R 函式替換為其自己的並行化函式,以減少處理時間(不再需要 doParallel
呼叫),並且使用“外部”服務端來執行,而不是直接呼叫 R。
直到我真正在實際中開始在 H2o 中使用 R 時,我對這種情況都非常滿意。我在使用非常大的資料庫時,庫變得笨重,我幾乎不能做任何有用得事情。大多數時候,我最後只是得到一個很長的 Java 回溯呼叫。
我相信正確地將 H2o 作為一個庫使用將非常強大,但可惜的是,它似乎在我的 R 技能中無效。
我生了一整天的氣 —— 無法實現我想做的事 —— 直到我意識到 H2o 有一個名為 Flow 的 WebUI。我通常不喜歡使用 web 來完成重要的工作,比如編寫程式碼,但是 Flow 簡直太不可思議了。
自動繪圖功能,執行資源密集模型時整合 ETA(預計剩餘時間),每個模型引數的描述(這些引數甚至會根據您熟悉的統計模型分成不同部分),Flow 似乎擁有所有功能。我很快就能夠執行 3 種基本的機器學習模型並獲得實際可解釋的結果。
所以,如果你一直渴望使用最先進的機器學習模型分析非常大的資料庫,我會推薦使用 H2o。首先嚐試使用 Flow,而不是 Python 或 R 的鉤子,來看看它能做什麼。
唯一缺點是,H2o 是用 Java 編寫的,並依賴 Java 1.7 來執行。並且需要警告的是:它需要非常強大的處理器和大量的記憶體。即使有 10 個可用的核心和 10Gb 的 RAM,我可憐的伺服器也苦苦掙扎了一段時間。
via: https://veronneau.org/playing-with-water.html
作者:Louis-Philippe Véronneau 譯者:geekpi 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出