教學課程:在 Azure Machine Learning 工作室中使用無程式碼自動化機器學習定型分類模型

瞭解如何在 Azure Machine Learning 工作室中使用 Azure Machine Learning 自動化機器學習,以無程式碼自動化機器學習訓練分類模型。 此分類模型會建立分類模型來預測客戶是否會向金融機構申請定期存款。

透過自動化機器學習,您可以將耗時的工作自動化。 自動化機器學習會快速地逐一嘗試多種演算法和超參數的組合,協助您根據所選擇的成功計量找到最佳模型。

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

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

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

必要條件

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

  • 下載 bankmarketing_train.csv 資料檔案。 y 資料行指出客戶是否申請定期存款,稍後本教學課程會將其識別為預測的目標資料行。

建立工作區

Azure Machine Learning 工作區是雲端中您用來實驗、定型及部署機器學習模型的基礎資源。 工作區可將您的 Azure 訂用帳戶和資源群組與服務中容易使用的物件結合。

有許多方式可以建立工作區。 在本教學課程中,您會透過 Azure 入口網站建立工作區 (管理 Azure 資源的 Web 型主控台)。

  1. 使用您 Azure 訂閱的認證來登入 Azure 入口網站

  2. 選取 Azure 入口網站左上角的三條橫線,然後選取 [+ 建立資源]。

    顯示 + 建立資源的螢幕擷取畫面。

  3. 使用搜尋列來尋找 [Azure Machine Learning]。

  4. 請選取 [Azure Machine Learning]。

    顯示選取機器學習的搜尋結果的螢幕擷取畫面。

  5. 在 [Machine Learning] 窗格中選取 [建立] 來開始操作。

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

    欄位 描述
    工作區名稱 輸入可識別您工作區的唯一名稱。 在此範例中,我們使用 docs-ws。 名稱必須是整個資源群組中唯一的。 請使用可輕鬆回想並且與其他人建立的工作區有所區別的名稱。
    訂用帳戶 選取您要使用的 Azure 訂用帳戶。
    資源群組 在您的訂用帳戶中使用現有的資源群組,或輸入名稱來建立新的資源群組。 資源群組會保留 Azure 方案的相關資源。 在此範例中,我們使用 docs-aml
    區域 選取最接近您的使用者與資料資源的位置,以建立工作區。
    儲存體帳戶 儲存體帳戶是用來做為工作區的預設資料存放區。 您可以建立新的 Azure 儲存體資源,或在訂用帳戶中選取現有的資源。
    金鑰保存庫 金鑰保存庫可用來儲存工作區所需的祕密和其他敏感性資訊。 您可以建立新的 Azure Key Vault 資源,或在訂用帳戶中選取現有的資源。
    Application insights 工作區會使用 Azure Application Insights 來儲存所部署模型的監視資訊。 您可以建立新的 Azure Application Insights 資源,或在訂用帳戶中選取現有的資源。
    容器登錄 容器登錄可用來註冊在定型和部署中使用的 Docker 映像。 您可以選擇建立資源,或在訂用帳戶中選取現有資源。
  7. 在完成工作區的設定後,選取 [檢閱 + 建立]。

  8. 選取 [建立] 以建立工作區。

    警告

    在雲端中建立工作區可能需要數分鐘的時間。

    程序完成後,會出現部署成功訊息。

  9. 若要檢視新的工作區,選取 [前往資源] 。

  10. 從工作區的入口網站檢視中,選取 [啟動工作區] 以前往 Azure Machine Learning 工作室。

重要

記下您的工作區訂用帳戶。 您會需要這些項目,以確保您在正確位置建立實驗。

登入工作室

您會透過 Azure Machine Learning 工作室在 https://ml.azure.com 中完成下列實驗設定及執行步驟;這是統一的 Web 介面,為所有技能等級的資料科學從業人員,提供執行資料科學案例的機器學習工具。 Internet Explorer 瀏覽器不支援 Studio。

  1. 登入 Azure Machine Learning Studio

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

  3. 選取 [馬上開始]。

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

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

    開始使用頁面

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

建立和載入資料集

在設定實驗之前,請先將資料檔案以 Azure Machine Learning 資料集的形式上傳到工作區。 如此一來,您就可以確保資料會格式化為適合進行實驗。

  1. 透過從 [+建立資料集] 下拉式清單選取 [從本機檔案],以建立新的資料集。

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

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

    3. 在 [資料存放區和檔案選取] 表單上,選取在建立工作區時自動設定的預設資料存放區 [workspaceblobstore (Azure Blob 儲存體)]。 您可以在這裡上傳資料檔案,以供工作區使用。

    4. 從 [上傳] 下拉式功能表中,選取 [上傳檔案]。

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

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

      上傳完成時,系統會根據檔案類型,預先填入 [設定與預覽] 表單。

    7. 確認 [設定與預覽] 表單的填入方式如下,然後選取 [下一步]

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

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

    10. 選取 [建立] 以完成資料集的建立。

    11. 當您的資料集出現在清單中時,請加以選取。

    12. 檢閱 [資料預覽] 以確保您未包含 [day_of_week],然後選取 [關閉]。

    13. 選取 [下一步] 。

設定工作

在載入和設定資料之後,您可以設定您的實驗。 這項設定包括實驗設計工作,例如,選取計算環境的大小,以及指定您要預測的資料行。

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

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

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

    2. 選取 [y] 作為您要預測的目標資料行。 此資料行會指出用戶端是否已申請定期存款。

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

    4. [+ 新增] 以設定您的計算目標。 計算目標是用來執行定型指令碼或裝載服務部署的本機或雲端式資源環境。 針對此實驗,我們會使用雲端式計算。

      1. 填入 [選取虛擬機器] 表單,以設定您的計算。

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

        欄位 描述 教學課程的值
        計算名稱 可識別您計算內容的唯一名稱。 automl-compute
        最小/最大節點數 若要分析資料,您必須指定一個或多個節點。 最小節點數:1
        最大節點數:6
        縮小之前的閒置秒數 叢集自動縮小至最小節點計數之前的閒置時間。 120 (預設值)
        進階設定 用於設定和授權虛擬網路以進行實驗的設定。 None
      3. 選取 [建立] 以建立您的計算目標。

        這需要幾分鐘來完成。

        設定頁面

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

    5. 選取 [下一步] 。

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

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

    2. 選取 [檢視其他組態設定] 並填入欄位,如下所示。 這些設定可進一步控制訓練作業。 否則會根據實驗選取範圍和資料來套用預設值。

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

      選取 [儲存]。

    3. 選取 [下一步] 。

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

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

重要

準備實驗執行需要 10-15 分鐘的時間。 執行之後,每個反覆項目需要 2-3 分鐘以上的時間

在生產環境中,您可以先離開一下。 但是在此教學課程中,在其他項目仍在執行時,我們建議您開始探索 [模型] 索引標籤上完成的已測試演算法。

探索模型

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

當您等候所有實驗模型完成時,可選取已完成模型的演算法名稱來探索其效能詳細資料。

以下內容在 [詳細資料] 與 [計量] 索引標籤中進行瀏覽,以查看所選模型的屬性、計量與效能圖表。

執行反覆項目的詳細資料

模型說明

在您等候模型完成時,也可以查看模型說明,並查看影響特定模型預測的資料功能 (原始或工程)。

您可以視需要產生這些模型說明,並在 [模型說明] 儀表板中摘要說明 (預覽的 [預覽]) 索引標籤的一部分。

若要產生模型說明,

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

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

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

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

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

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

    注意

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

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

  8. 在左側展開窗格,然後選取 [功能] 下的 [原始] 列。

  9. 選取右邊的 [彙總功能重要性] 索引標籤。 此圖表會顯示哪些資料功能會影響所選模型的預測。

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

    模型說明儀表板

部署最佳模型

自動化機器學習介面可讓您透過幾個步驟,將最佳模型部署為 Web 服務。 部署是模型的整合,因此可以根據新資料進行預測,並找出潛在的商機區域。

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

查看您的實驗執行是否已完成。 若要這麼做,請選取畫面頂端的 [作業 1],並瀏覽回到父代作業頁面。 [完成] 狀態會顯示在畫面的左上方。

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

我們會部署此模型,但提醒您部署大約需要 20 分鐘的時間才能完成。 部署程序需要幾個步驟,包括註冊模型、產生資源,以及為 Web 服務設定這些資源。

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

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

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

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

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

  4. 選取 [部署]。

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

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

若要深入了解如何取用新的 Web 服務及如何使用 Power BI 內建的 Azure Machine Learning 支援來測試您的預測,請繼續進行後續步驟

清除資源

部署檔案比資料和實驗檔案大,因此儲存的成本會較高。 如果您想要保留工作區和實驗檔案,那麼僅刪除部署檔案可將成本降到最低。 或者,如果您不打算使用任何檔案,您可以刪除整個資源群組。

刪除部署執行個體

如果您想保留資源群組與工作區以進行其他教學課程和探索,可以在 https://ml.azure.com/ 中只刪除 Azure Machine Learning 的部署執行個體。

  1. 移至 Azure Machine Learning。 瀏覽至您的工作區,並在左側的 [資產] 窗格下,選取 [端點]。

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

  3. 選取 [繼續]。

刪除資源群組

重要

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

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

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

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

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

    在 Azure 入口網站中刪除資源群組選項的螢幕擷取畫面。

  4. 輸入資源群組名稱。 然後選取 [刪除]。

後續步驟

在此自動化機器學習教學課程中,您已使用 Azure Machine Learning 的自動化 ML 介面來建立及部署分類模型。 請參閱下列文章,以了解更多資訊及接下來的步驟:

注意

此銀行行銷資料集可在 Creative Commons (CCO:公用網域) 授權底下取得。 個別資料庫內容中的任何權限都是以資料庫內容授權為依據,並可在 Kaggle 上取得。 此資料集原本位在 UCI Machine Learning 資料庫內。

[Moro et al., 2014] S. Moro, P. Cortez and P. Rita. A Data-Driven Approach to Predict the Success of Bank Telemarketing. Decision Support Systems, Elsevier, 62:22-31, June 2014.