嘗試 H2o 做機器學習
我目前正在參加一個機器學習班,雖然工作量很瘋狂,但我非常喜歡。我最初計劃使用 R 來訓練我的資料庫,但老師建議我使用一個 FOSS 機器學習框架 H2o。
起初我有點懷疑,因為我已經對 R 掌握得不錯了,但後來我發現你可以簡單地將 H2o 作為 R 庫導入。H2o 將大多數 R 函數替換為其自己的並行化函數,以減少處理時間(不再需要 doParallel
調用),並且使用「外部」服務端來運行,而不是直接調用 R。
![H2o Flow gradient boosting model](/data/attachment/album/201804/07/234426skv3kwpwrjy50hjr.png "H2o Flow gradient boosting model")
直到我真正在實際中開始在 H2o 中使用 R 時,我對這種情況都非常滿意。我在使用非常大的資料庫時,庫變得笨重,我幾乎不能做任何有用得事情。大多數時候,我最後只是得到一個很長的 Java 回溯調用。
我相信正確地將 H2o 作為一個庫使用將非常強大,但可惜的是,它似乎在我的 R 技能中無效。
![H2o Flow variable importance weights](/data/attachment/album/201804/07/234426lmf4erfcmbd64mr1.png "H2o Flow variable importance weights")
我生了一整天的氣 —— 無法實現我想做的事 —— 直到我意識到 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
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive