教學課程:在 Azure Machine Learning 工作室 中使用無程序代碼 AutoML 定型分類模型

瞭解如何在 Azure Machine Learning 工作室 中使用 Azure 機器學習 自動化 ML,使用無程式代碼 AutoML 來定型分類模型。 此分類模型會預測客戶是否會訂閱金融機構的固定期存款。

透過自動化 ML,您可以將需要大量時間的工作自動化。 自動化機器學習會快速逐一查看許多演算法和超參數組合,以協助您根據您選擇的成功計量找到最佳模型。

您不會在本教學課程中撰寫任何程式碼,您將使用 Studio 介面來執行定型。 您將瞭解如何執行下列工作:

  • 建立 Azure Machine Learning 工作區。
  • 執行自動化機器學習實驗。
  • 探索模型詳細數據。
  • 部署建議的模型。

也請嘗試下列其他模型類型的自動化機器學習:

必要條件

  • Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請建立免費帳戶

  • 下載bankmarketing_train.csv數據檔。 y 數據行指出客戶是否訂閱了固定期存款,稍後會識別為本教學課程中預測的目標數據行。

建立工作區

Azure 機器學習 工作區是雲端中用來實驗、定型和部署機器學習模型的基礎資源。 它會將您的 Azure 訂用帳戶和資源群組系結至服務中容易取用的物件。

在本教學課程中,完成下列步驟以建立工作區並繼續教學課程。

  1. 登入 Azure Machine Learning 工作室

  2. 選取 [建立工作區]

  3. 提供下列資訊來設定新的工作區:

欄位 描述
工作區名稱 輸入可識別工作區的唯一名稱。 名稱在整個資源群組中必須是唯一的。 使用容易重新叫用的名稱,並區別於其他人所建立的工作區。 工作區名稱不區分大小寫。
訂用帳戶 選取您要使用的 Azure 訂用帳戶。
資源群組 使用您訂用帳戶中現有的資源群組,或輸入名稱來建立新的資源群組。 資源群組會保存 Azure 解決方案的相關資源。 您需要 參與者擁有者 角色才能使用現有的資源群組。 如需存取的詳細資訊,請參閱管理 Azure 機器學習 工作區的存取權。
區域 選取最接近使用者和數據資源的 Azure 區域,以建立您的工作區。
  1. 選取 [建立 ] 以建立工作區

如需 Azure 資源的詳細資訊,請參閱本文中的步驟, 建立您需要開始使用的資源。

如需在 Azure 中建立工作區的其他方式,請在入口網站或使用 Python SDK (v2) 管理 Azure 機器學習 工作區。

建立自動化 機器學習 作業

您可以透過 位於 https://ml.azure.com的 Azure Machine Learning 工作室 完成下列實驗設定並執行步驟,此整合的 Web 介面包含機器學習工具,可針對所有技能層級的數據科學從業者執行數據科學案例。 Internet Explorer 瀏覽器不支援 Studio。

  1. 選取訂用帳戶與您建立的工作區。

  2. 在左窗格中,選取 [撰寫] 區段下的 [自動化 ML]。

    因為這是您的第一個自動化 ML 實驗,因此您會看到空白清單和文件連結。

    Get started page

  3. 選取 [+新增自動化 ML 作業]。

建立數據集並將其載入為數據資產

設定實驗之前,請先以 Azure 機器學習 數據資產的形式,將數據檔上傳至工作區。 在本教學課程中,您可以將數據資產視為 AutoML 作業的數據集。 如此一來,可讓您確保數據已針對實驗適當地格式化。

  1. 從 [+建立數據資產] 下拉式清單中選取 [從本機檔案] 來建立新的數據資產

    1. 在 [ 基本資訊 ] 表單上,提供您的數據資產名稱並提供選擇性描述。 自動化 ML 介面目前僅支援 TabularDataset,因此數據集類型應該預設為 表格式

    2. 選取左下方的 [下一步]

    3. 在 [數據存放區和檔案選取] 窗體上,選取工作區建立期間自動設定的默認數據存放區 workspaceblobstore (Azure Blob 儲存體)。 這是您將上傳數據檔的位置,使其可供您的工作區使用。

    4. 從 [上傳] 下拉式清單中選取 [上傳檔案]。

    5. 選擇 本機電腦上的bankmarketing_train.csv 檔案。 這是您下載為必要條件檔案。

    6. 選取 左下方的 [下一步 ],將它上傳至工作區建立期間自動設定的預設容器。

      上傳完成時,會根據檔類型預先填入 設定 和預覽表單。

    7. 確認您的資料已透過架構表單正確格式化。 數據應該填入如下。 確認數據正確無誤之後,請選取 [ 下一步]。

      欄位 描述 教學課程的值
      File format 定義檔案中所儲存資料的版面配置和類型。 Delimited (分隔檔)
      分隔符號 一或多個字元,其用來指定純文字或其他資料流中個別獨立區域之間的界限。 Comma
      編碼方式 識別要用來讀取資料集之字元結構描述資料表的位元。 UTF-8
      資料行標題 指出資料集標題 (如果有的話) 的處理方式。 所有檔案都有相同的標頭
      跳過資料列 指出資料集內略過多少資料列 (如果有的話)。
    8. 架構表單可讓您進一步設定此實驗的數據。 在此範例中,選取day_of_week切換開關,以免包含它。 選取 [下一步]。 Schema form

    9. 在 [確認詳細數據] 表單上,確認資訊符合先前在基本資訊、數據存放區和檔案選取專案上填入的資訊,以及 設定 和預覽表單。

    10. 選取 [建立 ] 以完成數據集的建立。

    11. 一旦數據集出現在清單中,請選取您的資料集。

    12. 選取數據資產並查看 填入的預覽 索引標籤,以確保您不包含 day_of_week 然後選取 [ 關閉]。

    13. 選取 [下一步]。

設定作業

載入並設定數據之後,您可以設定實驗。 此設定包含實驗設計工作,例如,選取計算環境的大小,以及指定要預測的數據行。

  1. 選取 [ 建立新的 ] 單選按鈕。

  2. 填入 [ 設定作業] 表單,如下所示:

    1. 輸入此實驗名稱: my-1st-automl-experiment

    2. 選取 [y ] 作為目標數據行,即您想要預測的內容。 此數據行指出用戶端是否訂閱期存款。

    3. 選取 計算叢集 作為計算類型。

    4. 計算目標是本機或雲端式資源環境,用來執行定型腳本或裝載服務部署。 針對此實驗,您可以嘗試雲端式無伺服器計算(預覽版)或建立您自己的雲端式計算。

      1. 若要使用無伺服器計算, 請啟用預覽功能、選取 [無伺服器],然後略過此步驟的其餘部分。
      2. 若要建立您自己的計算目標,請選取 [+新增 ] 來設定計算目標。
        1. 填入 [ 選取虛擬機 ] 窗體以設定計算。

          欄位 描述 教學課程的值
          Location 您要從中執行電腦的區域 美國西部 2
          虛擬機層 選取實驗應具備的優先順序 專用
          虛擬機器類型 選取計算的虛擬機類型。 CPU (中央處理器)
          虛擬機器大小 為您的計算選取虛擬機器大小。 根據您的數據和實驗類型,提供建議的大小清單。 Standard_DS12_V2
        2. 選取 [下一步 ] 填入 [ 設定設定] 表單

          欄位 描述 教學課程的值
          計算名稱 識別計算內容的唯一名稱。 automl-compute
          最小/最大節點數 若要分析數據,您必須指定1個以上的節點。 最小節點:1
          最大節點數:6
          縮小之前的閒置秒數 叢集自動相應減少到最小節點計數之前的空閒時間。 120 (預設值)
          進階設定 設定 為您的實驗設定及授權虛擬網路。
        3. 選取 [建立] 以建立計算目標。

          這需要幾分鐘的時間才能完成。

          Settings page

        4. 建立之後,請從下拉式清單中選取新的計算目標。

    5. 選取 [下一步]。

  3. 在 [ 選取工作和設定 ] 表單上,指定機器學習工作類型和組態設定,以完成自動化 ML 實驗的設定。

    1. 選取 [分類 ] 作為機器學習工作類型。

    2. 選取 [ 檢視其他組態設定 ],並填入字段,如下所示。 這些設定是更妥善地控制定型作業。 否則會根據實驗選取範圍和資料來套用預設值。

      其他設定 描述 教學課程的值
      主要計量 機器學習演算法將測量的評估計量。 AUC_weighted
      解釋最佳模型 在自動化 ML 所建立的最佳模型上自動顯示可解釋性。 啟用
      封鎖的演算法 您想要從定型作業中排除的演算法
      其他分類設定 這些設定有助於改善模型的精確度 正類別標籤:無
      結束準則 如果符合準則,則會停止定型作業。 訓練工作時間(小時):1
      計量分數閾值:無
      並行 每個反覆專案執行的平行反覆項目數目上限 並行反覆運算數上限:5

      選取 [儲存]。

    3. 選取 [下一步]。

  4. [選擇性] 驗證和測試 表單上,

    1. 選取 K 折交叉驗證作為驗證 類型
    2. 選取 2 作為 交叉驗證的數目。
  5. 選取 [ 完成] 以執行實驗。 [ 作業詳細數據 ] 畫面隨即開啟 ,並在實驗準備開始時,開啟頂端的 [作業狀態 ]。 此狀態會隨著實驗進行而更新。 通知也會出現在工作室右上角,通知您實驗的狀態。

重要

準備需要 10-15 分鐘 才能準備實驗執行。 執行之後,每個反覆專案需要 2-3 分鐘的時間。

在生產環境中,您可能會離開一點。 但在本教學課程中,建議您開始探索 [模型] 索引標籤上的已測試演算法,因為其他演算法仍在執行中。

探索模型

流覽至 [ 模型] 索引標籤,以查看已測試的演算法(models)。 根據預設,模型會在計量分數完成時依計量分數排序。 在本教學課程中,根據所選 AUC_weighted 計量評分最高的模型位於清單頂端。

當您等候所有實驗模型完成時,請選取 已完成模型的演算法名稱 ,以探索其效能詳細數據。

下列會巡 覽 [詳細數據 ] 和 [ 計量 ] 索引卷標,以檢視所選模型的屬性、計量和效能圖表。

Run iteration detail

模型說明

當您等候模型完成時,也可以查看模型說明,並查看哪些數據特徵(未經處理或已設計)會影響特定模型的預測。

這些模型說明可以視需要產生,並摘要說明屬於 [說明][預覽] 索引標籤一部分的模型說明儀錶板。

若要產生模型說明,

  1. 選取 頂端的 [作業 1 ],以巡覽回 [模型] 畫面。

  2. 選取 [模型] 索引 標籤

  3. 在本教學課程中,選取第一個 MaxAbsScaler,LightGBM 模型。

  4. 選取頂端的 [ 說明模型] 按鈕。 右側會出現 [ 說明模型 ] 窗格。

  5. 選取您先前建立的 automl-compute 。 此計算叢集會起始子作業,以產生模型說明。

  6. 選取 底部的 [建立 ]。 綠色成功訊息會出現在畫面頂端。

    注意

    可解釋性工作需要大約 2-5 分鐘才能完成。

  7. 選取 [ 說明][預覽] 按鈕。 此索引標籤會在說明性執行完成之後填入。

  8. 在左側展開窗格,然後選取在 [功能] 底下顯示未經處理的數據列。

  9. 選取右側的 [ 匯總功能重要性 ] 索引標籤。 此圖表顯示哪些數據特徵會影響所選模型的預測。

    在此範例中,持續時間似乎對這個模型的預測影響最大。

    Model explanation dashboard

部署最佳模型

自動化機器學習介面可讓您在幾個步驟中將最佳模型部署為 Web 服務。 部署是模型的整合,因此它可以預測新的數據,並識別潛在的商機領域。

在此實驗中,部署至 Web 服務表示金融機構現在有一個反覆且可調整的 Web 解決方案,可用來識別潛在的固定期存款客戶。

檢查您的實驗執行是否完成。 若要這樣做,請選取 畫面頂端的 [作業 1 ],以流覽回父作業頁面。 畫面 左上方會顯示 [已完成 ] 狀態。

實驗執行完成後,[ 詳細數據 ] 頁面就會填入 [最佳模型摘要 ] 區段。 在此實驗內容中, VotingEnsemble 會根據 AUC_weighted 計量視為最佳模型。

我們會部署此模型,但建議您部署大約需要 20 分鐘才能完成。 部署程式需要數個步驟,包括註冊模型、產生資源,以及針對Web服務進行設定。

  1. 選取 VotingEnsemble 以開啟模型特定的頁面。

  2. 選取左上角的 [部署] 功能表,然後選取 [部署至 Web 服務]。

  3. 填入 [ 部署模型 ] 窗格,如下所示:

    欄位
    部署名稱 my-automl-deploy
    部署描述 我的第一個自動化機器學習實驗部署
    計算類型 選取 Azure 容器實例 (ACI)
    啟用驗證 [停用]。
    使用自訂部署 [停用]。 允許自動產生預設驅動程式檔案(評分腳本)和環境檔案。

    在此範例中,我們使用 [進階] 功能表中提供的預設值。

  4. 選取部署

    綠色成功訊息會出現在 [作業] 畫面頂端,然後在 [模型摘要] 窗格中,狀態消息會出現在 [部署狀態] 底下 選取 [ 定期重新 整理] 以檢查部署狀態。

現在您已有可操作的 Web 服務來產生預測。

繼續進行後續步驟,以深入瞭解如何使用新的 Web 服務,並使用 Power BI 內建的 Azure 機器學習 支援來測試預測。

清除資源

部署檔案大於數據和實驗檔案,因此儲存成本較高。 只刪除部署檔案,以將帳戶的成本降到最低,或如果您想要保留工作區和實驗檔案。 否則,如果您不打算使用任何檔案,請刪除整個資源群組。

刪除部署實例

如果您想要保留資源群組和工作區進行其他教學課程和探索,請只從 Azure 機器學習 https://ml.azure.com/刪除部署實例。

  1. 移至 Azure 機器學習。 流覽至工作區,然後在 [資產] 窗格下方的左側,選取 [端點]。

  2. 選取您要刪除的部署,然後選取 [ 刪除]。

  3. 選取 [ 繼續]。

刪除資源群組

重要

您所建立的資源可用來作為其他 Azure Machine Learning 教學課程和操作說明文章的先決條件。

如果不打算使用您建立的任何資源,請刪除以免產生任何費用:

  1. 在 Azure 入口網站中,選取最左邊的 [資源群組]

  2. 從清單中,選取您所建立的資源群組。

  3. 選取 [刪除資源群組]

    Screenshot of the selections to delete a resource group in the Azure portal.

  4. 輸入資源群組名稱。 接著選取刪除

下一步

在此自動化機器學習教學課程中,您已使用 Azure 機器學習 的自動化 ML 介面來建立和部署分類模型。 如需詳細資訊和後續步驟,請參閱下列文章:

注意

此銀行行銷數據集可在 Creative Commons (CCO: Public Domain) 授權提供。 資料庫個別內容中的任何許可權都根據資料庫內容授權獲得授權,並在 Kaggle取得。 此數據集原本可在 UCI 機器學習 資料庫中使用

[Moro et al., 2014] S. Moro, P. Cortez and P. Rita. 以數據為導向的方法來預測銀行電話市場的成功。 決策支持系統,Elsevier,62:22-31,2014 年 6 月。