新四季網

機器學習底層原理(聽說H2O能讓大家都會用機器學習)

2023-08-04 10:51:08 1

點擊上方關注,All in AI中國

各行業中的人工智慧技術已經逐漸落地,為了社會和經濟的穩定發展,普及人工智慧越來越重要。

H2O是一個開源分布式內存機器學習平臺。關於H2O的研究和實驗,本文作者已經有豐富的經驗,並且發現它在解決ML問題上具有非常直觀的效果。所以,本文的目的是為了讓人們了解在排行榜排名出色但並不為人所熟悉的H2O。

H2O.AI:H2O背後的公司

H2O.AI位於加利福尼亞州的山景城,能夠提供關於機器學習的平臺。 H2O的核心優勢在於其緊密集成的高性能ML組件。 在2019年1月發布的報告中,H2O.AI是Gartner數據科學平臺中最具前景的公司之一。

來源: Gartner ( 2019年1月)

讓我們簡單介紹一下H2O.AI的產品:

H2O.AI的產品和解決方案

H2O

H2O是一個開源的分布式內存機器學習平臺,具有線性可擴展性。 H2O支持最廣泛使用的統計和機器學習算法,並且還具有AutoML功能。 H2O的核心代碼是由Java編寫的,它的REST API允許從外部程序或腳本訪問H2O的所有功能。 該平臺包括用於R、python、Scala、Java、JSON和CoffeeScript / JavaScript的接口,以及內置的Web界面。

H2O Sparkling Water

Sparkling Water允許用戶將快速、可擴展的H2O機器學習算法與Spark的功能相結合。 Sparkling Water非常適合需要管理大型集群以滿足其數據處理需求並希望將數據從Spark傳輸到H2O(或反向傳輸數據)的用戶。

H2O4GPU

H2O4GPU是一個開源的GPU加速機器學習包,包含Python和R中的API,允許任何人利用GPU構建高級機器學習模型。

H2O無人駕駛AI

無人駕駛AI的用戶界面

H2O無人駕駛AI是H2O.ai自動機器學習的旗艦產品。 它可以完全自動化應用數據科學中一些最具挑戰性和最高效的任務,如特徵工程、模型調整、模型集成和模型部署。藉助無人駕駛人工智慧,所有熟練程度的數據科學家只需點擊幾下GUI即可訓練和部署建模管道。 無人駕駛AI是一種商業許可產品,具有21天免費試用版。

什麼是H2O

H2O-3是H2O最新版本。 H2O使用用戶熟悉的界面如R、Python、Scala、Java、JSON和Flow notebook/ Web界面,並與Hadoop和Spark等大數據技術無縫協作。 H2O可以通過更快,更好的預測建模,輕鬆快速地從數據中獲取洞察力。

高級架構

H2O可以從多個源導入數據,並且具有Java的快速、可擴展和分布式計算引擎。 以下是該平臺的高級概述。

H2O的高級架構

支持的算法

H2O支持許多常用的機器學習算法。

Algorithms supported by H2O

安裝

H2O提供了一個可以從CRAN安裝的R包和一個可以從PyPI安裝的python包。 在本文中只使用Python安裝包。

先決條件

Python

本步驟需要Java 7或更高版本。 要構建H2O或運行H2O測試,需要64位JDK。 要使用命令行,R或Python包運行H2O二進位文件,只需要64位JRE。

依賴性:

pip安裝

Conda

注意:在OS X El Capitan中從pip安裝H2O時,用戶必須包含—user標誌。例如,

測試安裝

每個新的python會話都是從初始化python客戶端和H2O集群之間的連接開始的。 集群是一組協同工作的H2O節點; 將作業提交到群集時,群集中的所有節點都會處理作業的一部分。

要檢查一切是否到位,請打開Jupyter筆記本並輸入以下內容:

這是一個本地H2O集群。 在執行單元格時,一些信息將以表格格式列印在屏幕上,其中包括節點數、總內存、Python版本等等。如果您需要報告錯誤,請確保包含以上所有信息。 此外,h2o.init要確保沒有先前的H2O實例正在運行。

Running h2o.init (in Python)

默認情況下,H2O實例使用所有核心和系統內存的大約25%。 但是,如果您希望為其分配一塊固定的內存,可以在init函數中指定它。 假設我們想給H2O實例提供4GB內存,它應該只使用2個內核。

#Allocate resources

h2o.init(nthreads=2,max_mem_size=4)

現在我們的H2O實例僅使用2個內核和大約4GB的內存。 但是,我們還是要使用默認方法。

在Python中使用H2O導入數據

安裝成功後,我們就可以繼續處理真實數據集了。我們將使用著名的wine數據集處理一個問題:在給定一組特徵作為輸入的情況下,以0-10的等級預測白葡萄酒的質量。

數據

該數據屬於葡萄牙「Vinho Verde」葡萄酒的白色變種。

來源:

https://archive.ics.uci.edu/ml/datasets/Wine Quality

CSV文件:

(https://archive.ics.uci.edu/ml/machine-learning-databases/wine-quality/winequality-white.csv)。

數據導入

從本地CSV文件導入數據。 該命令與pandas.read_csv非常相似,數據作為H2OFrame存儲在內存中。

Displaying the first 5 rows of the dataset

EDA

讓我們繼續研究數據集以獲得一些結果。

數據集的一些列

這裡的所有特性都是用數字展現的,沒有任何分類變量。現在讓我們來看看各個特徵的相關性。

用H2O建模

我們將建立一個回歸模型來預測葡萄酒的質量。 H2O模塊中有許多算法可用於分類和回歸問題。

將數據拆分為測試和訓練集

由於我們只有一個數據集,因此我們將其分為訓練和測試部分,以便我們可以評估模型的性能。這一步可以使用split_frame函數。

定義預測變量

廣義線性模型

我們將使用默認設置構建廣義線性模型(GLM)。 廣義線性模型(GLM)預測結果服從指數分布的回歸模型。 除了高斯(即正常)分布之外,還包括泊松分布、二項分布和伽馬分布。

GLM模型在訓練集上的參數

現在,讓我們檢查模型在測試數據集上的性能。

做預測

使用GLM模型對測試數據集進行預測。

同樣,您可以使用其他監督算法,如分布式隨機森林、梯度增強機器甚至深度學習,您還可以調整超參數。

H2OAutoML:自動機器學習

自動機器學習(AutoML)是將機器學習應用於現實問題的端到端流程自動化的過程。 AutoML使真正意義上的機器學習成為可能,即使對於在該領域沒有專業知識的人能應用。 H2O的AutoML傾向於自動化模型的訓練和調整部分。

H2O AutoML:可用的Algos

在本節中,我們將使用H2O的自動功能來處理預測葡萄酒質量的相同回歸問題。

導入AutoML模塊

這裡AutoML將運行10個基本模型,持續100秒。默認運行時間為1小時。

訓練

排行榜

現在讓我們看看自動排名榜。

AutoML 排行榜

排行榜顯示的是由AutoML構建的前10個模型及其參數。 最好的模型是Stacked Ensemble。

將最好的模型存儲為aml.leader。

單個模型的貢獻

讓我們看看單個模型的貢獻。

XRT(極端隨機樹)具有最大貢獻,其次是分布式隨機森林。

預測

關閉

使用Flow - H2O的Web UI

最後,讓我們快速概述一下名為Flow的H2O開源Web UI。 FLow是一個基於Web的交互式計算環境,您可以將代碼執行、文本、數學、繪圖和富媒體組合到單個文檔中,就像Jupyter筆記本一樣。

啟動FLOW

Launching H2O flow

一旦H2O啟動並運行,您需要做的就是將瀏覽器轉到http:// localhost:54321,然後您將看到名為Flow的用戶界面。

Flow界面

以下是Flow界面的快速瀏覽。

H2O的Flow界面

Flow旨在幫助數據科學家快速輕鬆地創建模型、導入文件、拆分數據框、並完成需要大量人工操作的工作。

運行

讓我們通過我們相同的葡萄酒示例,但這次使用Flow。

結論

H2O是功能強大的工具,它可以真正改變數據科學過程。 AI的功能和優勢應該提供給每個人,而不是少數人。 這是機器學習大眾化的真正本質,數據科學對於解決現實社會的真實威脅來說至關重要。

編譯出品

,
同类文章
葬禮的夢想

葬禮的夢想

夢見葬禮,我得到了這個夢想,五個要素的五個要素,水火只好,主要名字在外面,職業生涯良好,一切都應該對待他人治療誠意,由於小,吉利的冬天夢想,秋天的夢是不吉利的
找到手機是什麼意思?

找到手機是什麼意思?

找到手機是什麼意思?五次選舉的五個要素是兩名士兵的跡象。與他溝通很好。這是非常財富,它擅長運作,職業是仙人的標誌。單身男人有這個夢想,主要生活可以有人幫忙
我不怎麼想?

我不怎麼想?

我做了什麼意味著看到米飯烹飪?我得到了這個夢想,五線的主要土壤,但是Tu Ke水是錢的跡象,職業生涯更加真誠。他真誠地誠實。這是豐富的,這是夏瑞的巨星
夢想你的意思是什麼?

夢想你的意思是什麼?

你是什​​麼意思夢想的夢想?夢想,主要木材的五個要素,水的跡象,主營業務,主營業務,案子應該抓住魅力,不能疏忽,春天夢想的吉利夢想夏天的夢想不幸。詢問學者夢想
拯救夢想

拯救夢想

拯救夢想什麼意思?你夢想著拯救人嗎?拯救人們的夢想有一個現實,也有夢想的主觀想像力,請參閱週宮官方網站拯救人民夢想的詳細解釋。夢想著敵人被拯救出來
2022愛方向和生日是在[質量個性]中

2022愛方向和生日是在[質量個性]中

[救生員]有人說,在出生88天之前,胎兒已經知道哪天的出生,如何有優質的個性,將走在什麼樣的愛情之旅,將與生活生活有什么生活。今天
夢想切割剪裁

夢想切割剪裁

夢想切割剪裁什麼意思?你夢想切你的手是好的嗎?夢想切割手工切割手有一個真正的影響和反應,也有夢想的主觀想像力。請參閱官方網站夢想的細節,以削減手
夢想著親人死了

夢想著親人死了

夢想著親人死了什麼意思?你夢想夢想你的親人死嗎?夢想有一個現實的影響和反應,還有夢想的主觀想像力,請參閱夢想世界夢想死亡的親屬的詳細解釋
夢想搶劫

夢想搶劫

夢想搶劫什麼意思?你夢想搶劫嗎?夢想著搶劫有一個現實的影響和反應,也有夢想的主觀想像力,請參閱週恭吉夢官方網站的詳細解釋。夢想搶劫
夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂

夢想缺乏缺乏紊亂什麼意思?你夢想缺乏異常藥物嗎?夢想缺乏現實世界的影響和現實,還有夢想的主觀想像,請看官方網站的夢想組織缺乏異常藥物。我覺得有些東西缺失了