首頁  >  文章  >  科技週邊  >  十個 AutoML 的 GitHub 儲存庫

十個 AutoML 的 GitHub 儲存庫

王林
王林轉載
2023-04-12 11:43:091752瀏覽

人工智慧和機器學習的突破是過去二十年中最令人興奮的兩個主題。機器學習和資料科學工程師需要廣泛的研究和努力才能有效地理解和運行他們的模型。

十個 AutoML 的 GitHub 儲存庫

雖然它們可能因人而異,但傳統的機器學習步驟包括:

  1. 資料擷取
  2. 資料探索
  3. 資料準備
  4. 特徵工程
  5. 選型
  6. 模型訓練
  7. 超參數調整
  8. 預測

雖然8 個步驟在建立機器學習模型時可能看起來不多,但從上面的步驟開始需要相當長的時間才能完善!

當非專業的機器學習從業者第一次經歷這些步驟時,問題會更加嚴重;這個過程通常需要更多時間和資源才能完成,即使如此,最終結果也可能與預期不符。

AutoML 透過為專家和非專家等人自動執行大部分模型建立流程而派上用場。

什麼是自動機器學習 (AutoML)?

自動化機器學習,通常稱為 AutoML,使機器學習變得更容易。 AutoML 使用由給定框架完成的自動處理,使非機器學習專家更容易使用機器學習。

它專注於加速人工智慧的研究和提高機器學習模型的效率。

傳統的機器學習過程著重於前面提到的所有8 個步驟,而AutoML 涵蓋兩個步驟:

  1. 資料收集是在將資料儲存到資料倉儲之前收集、過濾和清理所用資料的過程。
  2. 預測是指給定模型返回的實際輸出,訓練有素的模型很可能會返回準確的最終預測。

資料探索、 資料準備、特徵工程、模型選擇、模型訓練和 最終模型調整的架構將涵蓋其他 6 個步驟。

AutoML 的優點

  • 提高工作效率
  • 更好的最終結果
  • #擴充機器學習

AutoML 流行框架

既然我們已經討論了什麼是AutoML 並了解了它的一些優勢,我們將介紹10 大AutoML 框架、在哪裡可以找到它們以及它們提供的功能。

1. 谷歌自動機器學習

Google AutoML是最著名的可用框架之一,在我們的清單中排名第一。谷歌已經推出了許多 AutoML 框架,例如 Google AutoML vision、Google AutoML Natural Language 等。

2. 自動 SKLearn

之前接觸過機器學習的使用者可能對 SKlearn 這個名字並不陌生。作為流行的sci-kit-learn 庫的附加元件,Auto SKLearn 是一個開源機器學習框架,可處理機器學習任務的自動化。

Auto Sklearn 框架能夠執行其模型選擇、超參數調整和表徵,這是 Auto SKlearn 框架的一個獨特功能。

透過執行模型選擇,Auto SKlearn 將自動搜尋能夠處理使用者給定問題的最佳演算法。

轉到 Auto SKlearn 的第二個功能,我們有超參數調整。作為任何機器或深度學習模型的最後步驟之一,使用者應該找到最佳模型參數來優化結果。此任務需要大量時間,並且可以透過此類框架輕鬆自動化。

使用 Auto SKlearn 的獨特和最終好處是它能夠執行自動表徵。 表徵是將原始資料轉換為可用資訊的過程。

3.TPot

TPOT,也稱為 Tree Pipeline Optimization Tool,是最早的 python 開源 autoML 軟體包之一。它專注於使用遺傳編程優化機器學習管道。

TPOT 的主要目標是透過將管道的靈活表達式樹表示與遺傳編程等隨機搜尋演算法相結合來自動建立 ML 管道。

請注意,TPOT 在sci-kit-learn library之上運作,必須先安裝它。

4.AutoKeras

AutoKeras是一個為 AutoML 和深度學習模型建立的開源程式庫,最初由 DATA 實驗室開發。

Auto Keras 幫助非專家機器和深度學習愛好者以最少的努力運行和訓練他們的模型。 Auto Keras 的目標是讓每個人都可以學習機器學習,它是初學者的絕佳工具

5.路德維希

Ludwig是一個開源 autoML 框架,主要專注於使用簡單的設定檔系統來組裝和訓練深度學習模型。

透過讓使用者提供一個設定檔來定義給定模型的輸入和輸出及其各自的資料類型,Ludwig 框架將利用這些資料基於前面提到的屬性來建立其深度學習模型。

6. MLBOX

MLBOX正在崛起,並迅速成為頂級自動化機器學習框架工具之一。

根據MLBOX 官方文件,它提供了以下好處:

  • 快速讀取和分散式資料預處理/清理/格式化。
  • 高度穩健的特徵選擇和洩漏偵測。
  • 高維空間中的精確超參數最佳化。
  • 最先進的分類與迴歸預測模型(深度學習、堆疊、LightGBM 等)。
  • 使用模型解釋進行預測。

7. 自動關機

AutoGloun 面向專家和非專家機器學習從業者,專注於自動化堆疊整合、深度學習和跨越圖像、文字和表格數據的真實世界應用程式。

根據AutoGloun 線上文件,AutoGLoun 使用戶能夠:

  • 只需幾行程式碼即可為原始資料快速建立深度學習和經典ML 解決方案的原型。
  • 在沒有專業知識的情況下自動利用最先進的技術(在適當的情況下)。
  • 利用自動超參數調整、模型選擇/整合、架構搜尋和資料處理。
  • 輕鬆改進/調整客製化模型和資料管道,或為特定用例自訂 AutoGluon。

8.微軟神經網路智能(NNI)

Microsoft Neural Network Intelligence,也稱為NNI,是一個工具包,旨在為深度學習自動化特徵工程、神經架構搜尋、超參數調整和模型壓縮。

NNI 工具支援 PyTorch、TensorFlow、Scikit-learn、XGBoost、LightGBM 等框架。使用 Microsoft Neural Network 的主要好處是神經架構搜索,NNI 工具支援 Multi-trail(網格搜尋、正則化進化、基於策略的 IRL 等)和 One-shot(DARTS、ENAS FBNet 等)神經架構搜尋。

該工具提供了多種超參數調整演算法,例如貝葉斯最佳化、窮舉搜尋和啟發式搜尋。請查看 Github 上 NNI 的自述文件,以了解有關此工具提供的其他內容的更多資訊。

9. 變形怪

TransmogrifAI旨在幫助開發人員提高機器學習生產力。 TransmogrifAI 在 Apache Spark 之上運作。

正如Transmogrif 上的Github 自述文件中簡要提到的那樣,「透過自動化,它可以達到接近手動調整模型的精度,並且時間減少了近100 倍。」

與其他提到的autoML 框架一樣,TransmogrifAI 工具能夠為使用者選擇的資料集選擇最佳演算法。

10. H2O 自動機器學習

H2O autoML是 H2O 創建的開源框架工具,同時支援 R 和 Python 程式設計。

它還支援最廣泛使用的統計和機器學習演算法,包括梯度提升機器、廣義線性模型和深度學習。

H2O autoML 介面透過要求盡可能少的參數來適應新的機器學習使用者。使用者在使用 H2O 工具時的主要任務是提供資料集。

其他有用的AutoML 工具

1.過度緊張

#Hypertunity是一種輕量級工具,旨在使用輕量級套件最佳化模型的給定超參數。它們模組化簡單,可擴展以允許無縫調度實現。

Hypertunity 支援使用 GPyOpt、Slurm 相容調度程式的貝葉斯優化,以及使用 Tensorboard 的即時視覺化(透過 HParams 外掛程式)。

2. 蜻蜓

Dragonfly是一種開源 autoML 工具,專為可擴展的貝葉斯優化而設計。

貝葉斯最佳化用於評估超出普通最佳化的非常昂貴的黑盒子函數。

Dragonfly 讓新用戶可以用最少的知識解決可擴展的貝葉斯優化錯誤。

3.雷音

作為我們的第二個超參數最佳化工具,Ray Tune是一個用於擴展 AI 和 Python 應用程式的統一框架。

它透過分散式資料處理、分散式訓練、可擴展的超參數調整、可擴展的強化學習和可擴展的可程式服務來實現簡單的 AI 工作負載擴展。

4.自動圖學習

Auto Graph Learning是一個獨特的 autoML 框架,它專注於圖形資料集的機器學習,非常容易和簡單。

他們使用資料集來維護基於 Pytorch Geometric 或 Deep Graph Library 中的 Datasets 的基於圖的機器學習的資料集。

用於自動機器學習的 GitHub 儲存庫

隨著機器和深度學習領域的進步,對機器學習專家的需求大幅增加卻沒有解決。

這就是機器學習工具和技術的自動化派上用場的地方,它允許新用戶比以往任何時候都更輕鬆地建立功能齊全且高度優化的模型。

簡而言之,在尋找完美的自動化機器學習工具時,您應該專注於您嘗試使用給定模型實現的目標以及您希望自動化的機器學習過程中的確切部分。我們建議您自己嘗試上述幾個 autoML 工具,然後只使用您認為高效且易於使用的幾個。

以上是十個 AutoML 的 GitHub 儲存庫的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除