使用Azure進行自動化機器學習

什麼是自動化機器學習?

自動化的機器學習,也稱爲 AutoML,讓數據科研人員、 分析人員和開發人員,同時維護模型質量構建具備高縮放性、 效率和工做效率的機器學習模型。算法

自動化機器學習生成的機器學習模型自動、 智能地選擇用於訓練的模型的集合,並推薦最適合您。 傳統的機器學習模型開發是資源密集型須要大量域知識和時間來生成和比較數十個模型。 與自動化機器學習將加快所需獲取生產的 ML 模型很好的輕鬆和高效的時間。數組

在幕後,將訓練數據是採用一個定義的目標的功能,並以智能方式在循環的機器學習算法和功能選擇的組合。 而後,根據訓練的分數,最擬合的模型是標識並向你推薦。併發

您仍然能夠控制您的實驗和的透明度瞭解發生了什麼狀況。 您能夠定義約束和試驗根據時間、 準確性或迭代次數,例如目標。 在實驗中,每次迭代的訓練流和由給定模型的影響最大功能,能夠看到每一個生成的模型。app

如何自動機器學習工做原理

使用Azure 機器學習服務,能夠設計和使用這些步驟運行自動化的機器學習訓練實驗:機器學習

  1. 肯定機器學習問題待解決: 分類,預測或迴歸性能

  2. 指定的源和標記的訓練數據的格式:Numpy 數組或 Pandas 數據幀學習

  3. 配置計算目標,以便爲模型定型,如你本地計算機、 Azure 機器學習計算、 遠程 Vm 或 Azure Databricks。測試

  4. 配置自動化的機器學習參數,肯定經過不一樣的模型超參數設置的迭代數高級預處理/特徵化,以及要在肯定最佳的模型時,查詢的指標。 
    ui

提交訓練運行。編碼


在訓練期間,Azure 機器學習服務會建立多個嘗試不一樣算法和參數的管道。 它將中止後它會命中在試驗中定義的退出條件。

此外能夠檢查記錄運行的信息,其中包含運行期間收集的指標。 訓練運行生成 Python 序列化對象 (.pkl文件),其中包含的模型和數據預處理。

在 Azure 門戶中建立和瀏覽自動化的機器學習試驗 (預覽版) 

必備組件

開始使用

導航到你的工做區的左窗格中。 在創做 (預覽版) 部分下選擇自動機器學習。

若是這是你第一次執行任何使用自動化的機器學習試驗,你將看到如下信息:

不然,你將看到自動機器學習儀表板與全部自動化機器學習試驗,包括那些運行隨 SDK 的概述。 此處能夠篩選和按日期瀏覽在運行過程當中,試驗名稱,並運行狀態。

建立試驗

選擇建立試驗按鈕以填充如下窗體。

  1. 輸入試驗名稱。

  2. 選擇計算的數據事件探查和訓練做業。 在下拉列表中提供了您現有的計算資源的列表。 若要建立新的計算,請執行步驟 3 中的說明。

  3. 選擇建立新的計算按鈕以打開下方窗格中,並配置對於此試驗計算上下文。




    字段 描述
    計算名稱 輸入用於標識您的計算上下文的惟一名稱。
    虛擬機大小 選擇在計算的虛擬機大小。
    其餘設置 最小節點:輸入在計算節點的最小數目。 最小的 AML 計算節點數爲 0。 若要啓用數據事件探查,您必須具備一個或多個節點。 
    最大節點:根據計算輸入的最大節點數。 默認值爲 6 個節點的 AML 計算。

    若要開始建立新計算,請選擇建立。 這可能須要一些時間。

  4. 選擇你的數據的存儲賬戶。 公共預覽版僅支持本地文件上傳和 Azure Blob 存儲賬戶。

  5. 選擇一個存儲容器。

  6. 從存儲容器,選擇一個數據文件或上傳到容器的文件從本地計算機。

  7. 使用預覽和配置文件選項卡進一步配置你的數據對於此試驗。
    • 在預覽選項卡上,指示是否你的數據包含標頭,並選擇特徵 (列) 是用於定型包含每一個功能列中切換按鈕。
      數據預覽
    • 在配置文件選項卡,你能夠查看數據配置文件的功能,以及每一個分發、 類型和摘要的統計信息 (平均值、 中間值、 最大/最小值等) 。
      數據配置文件選項卡

  8. 選擇訓練做業類型: 分類、 迴歸或預測。
  9. 選擇目標列。 其想要對預測的列。
  10. 用於預測:

    • 選擇時間列:此列包含要使用的時間數據。
    • 選擇預測時間範圍:指示多少個時間單位 (分鐘/小時/天/周/月/年) 將該模型可以預測到未來的發展。 隨着更長遠的預測,模型將變得不太準確。 
  11. (可選)高級設置: 可用於更好地控制訓練做業的其餘設置。
高級設置 描述
主要指標 用於進行評分模型的主要度量。
退出條件 當知足如下任意條件時,訓練做業結束以前徹底完成。 
訓練做業時間 (分鐘):容許運行訓練做業的時間。 
最大迭代數:管道 (迭代) 中,以便測試在訓練做業的最大數目。 該做業將不會運行多個指定的迭代次數。 
指標分數閾值:全部管道的最小指標分數。 這可確保,若是您想要達到定義的目標度量值,則執行不花更多時間比實際所需的訓練做業。
預處理 選擇此選項能夠啓用或禁用經過自動的機器學習的預處理。 預處理包括自動數據清理、 準備,和轉換以生成綜合的功能。
驗證 選擇一個要在訓練做業中使用的交叉驗證選項。 
併發 選擇你想要使用多核計算時使用的多核限制。
已阻止的算法 選擇你想要從訓練做業中排除的算法。

高級的設置窗體

數據事件探查

跨您的數據集以驗證您的數據集是不是機器學習準備就緒,能夠獲取各類彙總統計信息。 對於非數字列,其中包括 min、 max 和錯誤計數等的僅基本統計信息。 對於數值列,您還能夠查看其統計一點時間,估計分位數。 具體而言,咱們的數據配置文件包括:

  • 功能: 這彙總的列的名稱。

  • 配置文件: 在行中可視化效果基於推斷出的類型。 例如,字符串、 布爾值和日期將具備值計數,而小數 (數字) 具備近似直方圖。 這容許您快速瞭解數據的分佈。

  • 鍵入分發: 類型列中的行中值計數。 Null 值是其本身的類型,所以此可視化效果可用於檢測異常或缺失值。

  • 類型: 列的推斷的類型。 可能的值包括: 字符串、 布爾值、 日期和小數位數。

  • 最小值: 列的最小值。 對於其類型不具備固有的排序 (例如布爾值) 的功能顯示爲空白條目。

  • 最大: 列的最大值。 如"最小值,"爲空白條目出如今不相關類型的功能。

  • 計數: 缺乏和非缺乏列中的項的總數。

  • 不會錯過計數: 列不是缺失的條目數。 請注意,空字符串和錯誤被視爲值,所以它們不會構成"不缺乏計數"。

  • 分位數(在 0.一、 一、 五、 2五、 50、 7五、 9五、 99 和 99.9%的時間間隔): 在每一個分位來提供數據的分佈的意義上的近似的值。 功能與不相關的類型顯示爲空白條目。

  • 意味着: 列的算術平均值。 功能與不相關的類型顯示爲空白條目。

  • 標準誤差: 列的標準誤差。 功能與不相關的類型顯示爲空白條目。

  • 方差: 列的方差。 功能與不相關的類型顯示爲空白條目。

  • 不對稱度: 列的不對稱度。 功能與不相關的類型顯示爲空白條目。

  • 峯度: 列的峯值。 功能與不相關的類型顯示爲空白條目。

高級預處理

在配置在實驗時,能夠啓用高級的設置Preprocess。 所以,這樣作意味着自動執行如下數據預處理和特徵化步驟。

預處理 步驟 描述
刪除較大的基數或者無差別的特徵 請先刪除這些從訓練和驗證集,包含全部缺失,相同的值之間的全部行或具備極高基數 (例如,哈希、 Id 或 Guid) 值中包括的功能。
估算缺失值 數字特徵,輸入與列中值的平均值。

分類特徵、 輸入與最經常使用的值。
生成其餘特徵 對於日期時間特徵:年、月、日、星期、年日期、季、年周、小時、分鐘、秒。

對於文本特徵:根據得到、 雙元語法和三元字符語法的字詞頻率。
轉換和編碼 不多惟一值的數字功能會被轉換爲分類特徵。

獨熱編碼爲較小的基數分類; 執行爲高的基數,一個熱的哈希編碼。
詞嵌入 文本特徵化器,可將文本標記的向量轉換到句子矢量使用預先訓練的模型。 在文檔中的每一個單詞嵌入向量被聚合在一塊兒以生成文檔特徵向量。
目標編碼 分類特徵、 將映射與平均的目標值對於迴歸問題,併爲每一個類分類問題的類機率的每一個類別。 基於頻率的權重和 k-摺疊交叉驗證用於減小經過映射和干擾引發的稀疏數據類別中調整。
文本目標編碼 文本輸入具備包的單詞的堆積線性模型用於生成每一個類的機率。
證據 (出錯) 的權重 計算爲分類列與目標列的關聯的度量值出錯。 它的計算方式的類在 vs 擴展類的機率的比率的日誌。 此步驟中輸出每一個類的一個數字特徵列,而且無需顯式用戶輸入缺失值和離羣值處理方法。
分類距離 訓練的 k 平均值聚類分析模型對全部數字列。 輸出 k 新功能,每一個羣集,其中包含每一個示例與每一個羣集的形心的距離的一個新數字功能。

運行實驗並查看結果

若要運行此試驗,請單擊開始。 實驗準備過程須要幾分鐘的時間。

查看實驗詳細信息

實驗準備階段完成後,你將看到運行詳細信息屏幕。 這樣,您建立的模型的完整列表。 默認狀況下,最高評分的模型基於您的參數列表的頂部。 如訓練做業嘗試出更多的模型,則將它們添加到迭代列表和圖表中。 使用迭代圖表以獲取到目前爲止生成的模型的快速度量值的比較。

訓練做業可能須要每一個管道完成運行一段時間。

查看訓練運行詳細信息

向下鑽取的任何輸出模型,以查看運行詳細信息,如性能指標和分發圖表的訓練。 

迭代詳細信息

相關文章
相關標籤/搜索