探索 AutoML:可用的頂級工具 [你需要知道的]

已發表: 2020-12-07

機器學習生命週期是一系列過程,包括數據收集、數據清洗、特徵工程、特徵選擇、模型構建、超參數調整、驗證和模型部署。

雖然收集數據可以採用多種形式,例如手動調查、數據輸入、網絡抓取或實驗期間生成的數據,但數據清理是將數據轉換為可在生命週期的其他階段使用的標準形式.

最近機器學習的熱潮也讓許多企業為其主流產品採用基於人工智能的解決方案,因此,AutoML 的新篇章已經進入市場。 它可以成為快速設置基於 AI 的解決方案的絕佳工具,但仍有一些相關因素需要解決。

目錄

什麼是 AutoML?

正是這套工具使機器學習的某些部分自動化,這本身就是一個生成預測和分類的自動化過程,從而產生可操作的結果。 儘管它只能自動化特徵工程、模型構建,有時甚至是部署階段,但大多數 AutoML 工具都支持多種機器學習算法和幾乎同樣多的評估指標。

當此類工具啟動時,它會在所有算法上運行相同的數據集,測試與問題相關的各種指標,然後提供詳細的報告卡。 讓我們探索一些市場上可用並被廣泛使用的著名工具。

H2O.ai

AutoML 的領先解決方案之一是 H2O.ai,它為從零開始編寫代碼的業務問題提供行業就緒的解決方案。 這允許來自任何領域的任何人從數據中提取有意義的見解,而無需具備機器學習方面的專業知識。

H2O 是一個開源軟件,支持所有廣泛使用的機器學習模型和統計方法。 它旨在提供超快速的解決方案,因為數據分佈在集群中,然後以列格式存儲在內存中,允許並行讀取操作。

該項目的較新版本還具有 GPU 支持,這使其更加快速和高效。 讓我們看看如何使用 Python 執行此操作(在 jupyter notebook 中運行代碼以便更好地理解):

!pip install h2o # 如果你還沒有安裝它,運行它

進口水

h2o.init()

從 h2o.automl 導入 H2OAutoML

df = h2o.import_file() # 這裡提供文件路徑

y = '目標標籤'

x = df.remove(y)

X_train, X_test, X_validate = df.split_frame(比率=[.7, .15])

model_obj = H2OAutoML(max_models = 10,種子 = 10,詳細度 =“信息”,nfolds = 0)

model_obj.train(x = x,y = y,training_frame = X_train,validation_frame=X_validate)

結果 = model_obj.leaderboard

這將存儲所有算法的結果,根據問題顯示它們各自的指標。

閱讀:機器學習工具

派卡瑞特

這是今年推出的一個相當新的庫,只需幾行代碼即可支持廣泛的 AutoML 功能。 無論是處理缺失值、將分類數據轉換為模型可饋送格式、超參數調整,甚至是特徵工程,當您可以更專注於數據操作策略時,PyCaret 都會在幕後自動化所有這些。

它更像是所有可用機器學習工具和庫(如 NumPy、pandas、sklearn、XGBoost 等)的 Python 包裝器。讓我們了解如何使用 Pycaret 執行分類問題:

!pip install pycaret # 如果你還沒有安裝它,運行它

從 pycaret.datasets 導入 get_data

從 pycaret.classification 導入 *

df = get_data('糖尿病')

設置=設置(糖尿病,目標='類變量')

compare_models() # 這個函數只是簡單的顯示所有算法的比較!

selected_model = create_model() # 傳遞您要創建的算法的名稱

predict_model(selected_model)

final_model = finalize_model(selected_model)

保存模型(最終模型,“文件名”)

已加載 = load_model('file_name')

就是這樣,您剛剛創建了一個執行特徵工程、訓練模型並保存它的轉換管道!

谷歌數據準備

我們已經研究了兩個庫,它們可以自動選擇特徵、模型構建並對其進行調整以獲得最佳結果,但我們還沒有討論如何自動化數據清理。 這個過程可以肯定是自動化的,但它需要手動驗證是否傳遞了正確的數據,或者這些值是否有意義。

更多數據是模型構建的一個加分點,但它應該是獲得高質量結果的高質量數據。 Google DataPrep 是一種智能數據準備工具,作為平台即服務提供,它允許對數據進行可視化數據清理,這意味著您無需編寫任何代碼,只需選擇選項即可更改數據。

它提供了一個交互式 GUI,這使得選擇選項來執行您想要應用的功能變得非常容易。 這個工具最好的部分是它會按照執行順序在側面板中顯示對數據集所做的所有更改,並且可以更改任何步驟。 它有助於跟踪更改。 系統將提示您提出建議,這些建議大多是正確的。

生成的文件可以導出到本地存儲,或者由於 Google Cloud Platform 中提供了此服務,您可以直接將此文件帶到任何 Google Storage 存儲桶或 BigQuery 表中,您可以直接在查詢編輯器中執行機器學習任務。 對此的主要挫折可能是其經常性成本,它不是一個開源項目,而是一個成熟的行業解決方案。

這可以取代數據科學家嗎?

絕對不! AutoML 很棒,它可以幫助數據科學家加快特定的生命週期,但始終需要專家的建議。 例如,從運行所有算法的 AutoML 獲得針對特定問題陳述的正確模型要比從專家那裡獲得最適合該問題的特定算法的專家要花費很多時間。

數據科學家將需要驗證這些自動化類型的結果,然後為企業提供可行的解決方案。 領域專家會發現這種自動化非常有用,因為他們可能沒有太多從數據中獲得洞察力的經驗,但這些工具將以最佳方式指導他們。

如果您想掌握機器學習並學習如何訓練代理玩井字遊戲、訓練聊天機器人等,請查看 upGrad 的機器學習和人工智能 PG 文憑課程。

引領人工智能驅動的技術革命

IIT MADRAS & UPGRAD 的機器學習和雲高級認證
了解更多