教學課程:在 Azure Machine Learning 工作室中使用無程式碼自動化機器學習定型分類模型
瞭解如何在 Azure Machine Learning 工作室中使用 Azure Machine Learning 自動化機器學習,以無程式碼自動化機器學習訓練分類模型。 此分類模型會建立分類模型來預測客戶是否會向金融機構申請定期存款。
透過自動化機器學習,您可以將耗時的工作自動化。 自動化機器學習會快速地逐一嘗試多種演算法和超參數的組合,協助您根據所選擇的成功計量找到最佳模型。
您將不會在本教學課程中撰寫任何程式碼,而是使用工作室介面來執行定型。 您將了解如何執行下列工作:
- 建立 Azure Machine Learning 工作區。
- 執行自動化機器學習實驗。
- 探索模型詳細資料。
- 部署建議的模型。
也請嘗試這些其他模型類型的自動化機器學習:
- 如需預測的無程式碼範例,請參閱 教學課程:需求預測與自動化機器學習。
- 如需物件偵測模型的第一個程式碼範例,請參閱教學課程:使用 AutoML 和 Python 訓練物件偵測模型。
必要條件
Azure 訂用帳戶。 如果您沒有 Azure 訂用帳戶,請建立免費帳戶。
下載 bankmarketing_train.csv 資料檔案。 y 資料行指出客戶是否申請定期存款,稍後本教學課程會將其識別為預測的目標資料行。
建立工作區
Azure Machine Learning 工作區是雲端中您用來實驗、定型及部署機器學習模型的基礎資源。 工作區可將您的 Azure 訂用帳戶和資源群組與服務中容易使用的物件結合。
在本教學課程中,完成下列步驟以建立工作區並繼續教學課程。
選取 [建立工作區]
提供下列資訊來設定新的工作區:
欄位 | 描述 |
---|---|
工作區名稱 | 輸入可識別您工作區的唯一名稱。 名稱必須是整個資源群組中唯一的。 請使用可輕鬆回想並且與其他人建立的工作區有所區別的名稱。 工作區名稱不區分大小寫。 |
訂用帳戶 | 選取您要使用的 Azure 訂用帳戶。 |
資源群組 | 使用您訂用帳戶中現有的資源群組,或輸入名稱來建立新的資源群組。 資源群組會保留 Azure 方案的相關資源。 您需要參與者或擁有者角色,以使用現有的資源群組。 如需關於存取權的詳細資訊,請參閱管理 Azure Machine Learning 工作區存取權。 |
區域 | 選取最接近使用者與資料資源的 Azure 區域,以建立工作區。 |
- 選取 [建立] 以建立工作區
如需 Azure 資源的詳細資訊,請參閱本文中的步驟,建立您需要開始使用的資源。
如需在 Azure 中建立工作區的其他方式,請在入口網站或使用 Python SDK (v2) 管理 Azure Machine Learning 工作區。
建立自動化機器學習工作
您會透過 Azure Machine Learning 工作室在 https://ml.azure.com 中完成下列實驗設定及執行步驟;這是統一的 Web 介面,為所有技能等級的資料科學從業人員,提供執行資料科學案例的機器學習工具。 Internet Explorer 瀏覽器不支援 Studio。
選取訂用帳戶與您建立的工作區。
在左側窗格中,選取 [撰寫]下的 [自動化 ML]。
由於這是您的第一個自動化 ML 實驗,因此您會看到一個空白清單與文件連結。
請選取 [+ 新增自動化 ML 作業]。
選取 [自動訓練]
選取 [開始設定作業]
在 [實驗名稱] 區段中,選取 [新建] 選項 ,然後輸入此實驗名稱:
my-1st-automl-experiment
建立資料集並將其載入為資料資產
在設定實驗之前,請先將資料檔案以 Azure Machine Learning 資料資產的形式上傳到工作區。 在本教學課程中,您可以將資料資產視為 AutoML 作業的資料集。 如此一來,您就可以確保資料會格式化為適合進行實驗。
選取 [分類] 作為您的工作類型。
選取 [建立],以建立新的資料資產。
在 [基本資訊] 表單上,為資料資產提供名稱,並提供選擇性描述。 自動化 ML 介面目前僅支援表格式資料集,因此資料集類型應預設為表格式。
選取左下方的 [下一步]。
在 [資料存放區和檔案選取] 表單上,選取在建立工作區時自動設定的預設資料存放區 [workspaceblobstore (Azure Blob 儲存體)]。 您可以在這裡上傳資料檔案,以供工作區使用。
從 [上傳] 下拉式功能表中,選取 [上傳檔案]。
選擇您本機電腦上的 bankmarketing_train.csv 檔案。 這是您作為必要條件下載的檔案。
選取左下角 [下一步],將其上傳至在您工作區建立期間自動設定的預設容器。
上傳完成時,系統會根據檔案類型,預先填入 [設定與預覽] 表單。
確認您的資料已透過結構描述表單正確格式化。 資料應該填入如下。 確認資料正確無誤之後,請選取 [下一步]。
欄位 描述 教學課程的值 File format 定義檔案中所儲存資料的版面配置和類型。 Delimited (分隔檔) 分隔符號 一或多個字元,其用來指定純文字或其他資料流中個別獨立區域之間的界限。 Comma 編碼方式 識別要用來讀取資料集之字元結構描述資料表的位元。 UTF-8 資料行標題 指出資料集標題 (如果有的話) 的處理方式。 All files have same headers (所有檔案都有相同的標頭) 跳過資料列 指出資料集內略過多少資料列 (如果有的話)。 無 [Schema] \(結構描述\) 表單可讓您進一步設定此實驗的資料。 針對此範例,請選取 [day_of_week] 的切換開關,如此一來,就不會將它包含在內。 選取 [下一步]。
在 [確認詳細資料] 表單上,確認資訊符合先前在 [基本資訊、資料存放區和檔案選取] 與 [設定和預覽] 表單上填入的內容。
選取 [建立] 以完成資料集的建立。
當您的資料集出現在清單中時,請加以選取。
選取資料資產並查看填入的 [預覽] 索引標籤,以確保您不包含 day_of_week 然後選取 [關閉]。
選取 [下一步]。
設定工作
在載入和設定資料之後,您可以設定您的實驗。 這項設定包括實驗設計工作,例如,選取計算環境的大小,以及指定您要預測的資料行。
如下列所示,請填入 [設定作業] 表單:
選取 [y] 作為您要預測的目標資料行。 此資料行會指出用戶端是否已申請定期存款。
選取 [檢視其他組態設定] 並填入欄位,如下所示。 這些設定可進一步控制訓練作業。 否則會根據實驗選取範圍和資料來套用預設值。
其他設定 描述 教學課程的值 主要計量 用於測量機器學習演算法的評估計量。 AUC_weighted 解釋最佳模型 自動在自動化 ML 所建立的最佳模型上顯示可解釋性。 啟用 封鎖的演算法 您要從定型作業中排除的演算法 無 其他分類設定 這些設定有助於改善模型的正確性 正面類別標籤:無 結束準則 如果符合條件,訓練作業就會停止。 定型作業時間 (小時):1
計量分數閾值:無並行 每個反覆運算已執行的平行反覆運算數目上限 並行反覆項目上限:5 選取 [儲存]。
在 [選擇性] 驗證和測試表單,
- 選取 [K 折交叉驗證] 作為 驗證類型。
- 選取 [2] 作為 交叉驗證次數。
選取下一個
選取 [計算叢集] 作為計算類型。
計算目標是用來執行定型指令碼或裝載服務部署的本機或雲端式資源環境。 針對此實驗,您可以嘗試雲端式無伺服器計算 (預覽版) 或建立您自己的雲端式計算。
- 若要使用無伺服器計算,請啟用預覽功能、選取 [無伺服器],然後略過此步驟的其餘部分。
若要建立您自己的計算目標,請選取 [+新增] 來設定計算目標。
填入 [選取虛擬機器] 表單,以設定您的計算。
欄位 描述 教學課程的值 Location 您要執行機器的區域 美國西部 2 虛擬機器階層 選取您的實驗應具備的優先順序 專用 虛擬機器類型 為您的計算選取虛擬機器類型。 CPU (中央處理器) 虛擬機器大小 為您的計算選取虛擬機器大小。 系統會根據您的資料和實驗類型提供建議的大小清單。 Standard_DS12_V2 選取 [下一步],以填入 [設定設定表單]。
欄位 描述 教學課程的值 計算名稱 可識別您計算內容的唯一名稱。 automl-compute 最小/最大節點數 若要分析資料,您必須指定一個或多個節點。 最小節點: 1
最大節點數:6縮小之前的閒置秒數 叢集自動縮小至最小節點計數之前的閒置時間。 120 (預設值) 進階設定 用於設定和授權虛擬網路以進行實驗的設定。 無 選取 [建立] 以建立您的計算目標。
這需要幾分鐘來完成。
建立完成後,請從下拉式清單選取新的計算目標。
- 若要使用無伺服器計算,請啟用預覽功能、選取 [無伺服器],然後略過此步驟的其餘部分。
選取 [下一步]。
選取 [提交訓練作業] 以執行實驗。 實驗準備開始時,[作業概觀] 畫面會隨即開啟,且其頂端會顯示 [作業狀態]。 此狀態會隨著實驗的進行而更新。 通知也會出現在工作室的右上角,以通知您實驗的狀態。
重要
準備實驗執行需要 10-15 分鐘的時間。
執行之後,每個反覆項目需要 2-3 分鐘以上的時間。
在生產環境中,您可以先離開一下。 但是在此教學課程中,在其他項目仍在執行時,我們建議您開始探索 [模型] 索引標籤上完成的已測試演算法。
探索模型
瀏覽至 [模型] 索引標籤,以查看已測試的演算法 (模型)。 根據預設,模型會在完成時依計量分數排序。 在本教學課程中,根據所選 AUC_weighted 計量評分最高的模型會在清單頂端。
當您等候所有實驗模型完成時,可選取已完成模型的演算法名稱來探索其效能詳細資料。
以下內容在 [詳細資料] 與 [計量] 索引標籤中進行瀏覽,以查看所選模型的屬性、計量與效能圖表。
模型說明
在您等候模型完成時,也可以查看模型說明,並查看影響特定模型預測的資料功能 (原始或工程)。
您可以視需要產生這些模型說明,並在 [模型說明] 儀表板中摘要說明 (預覽的 [預覽]) 索引標籤的一部分。
若要產生模型說明,
請選取頂端的 [作業 1] 以瀏覽回 [模型] 畫面。
選取 [模型] 索引標籤。
在本教學課程中,請選取第一個 MaxAbsScaler、LightGBM 模型。
選取頂端的 [說明模型] 按鈕。 右側即出現 [說明模型] 窗格。
選取您先前建立的 [automl-compute]。 本計算叢集會起始子項目作業以產生模型說明。
選取底部的 [建立]。 畫面頂端會出現綠色的成功訊息。
注意
可解釋性作業大約需要 2-5 分鐘才能完成。
選取 [說明]\(預覽\) 按鈕。 此索引標籤會在可解釋性執行完成後填入。
在左側展開窗格,然後選取 [功能] 下的 [原始] 列。
選取右邊的 [彙總功能重要性] 索引標籤。 此圖表會顯示哪些資料功能會影響所選模型的預測。
在此範例中,持續時間 似乎對此模型的預測有最大的影響。
部署最佳模型
自動化機器學習介面可讓您透過幾個步驟,將最佳模型部署為 Web 服務。 部署是模型的整合,因此可以根據新資料進行預測,並找出潛在的商機區域。
此實驗中對 Web 服務的部署表示金融機構現在有可反覆進行且可調整的 Web 解決方案,能識別潛在的定期存款客戶。
查看您的實驗執行是否已完成。 若要這麼做,請選取畫面頂端的 [作業 1],並瀏覽回到父代作業頁面。 [完成] 狀態會顯示在畫面的左上方。
一旦實驗執行完成後,[詳細資料] 頁面就會填入 [最佳模型摘要] 區段。 在此實驗內容中,根據 AUC_weighted 計量,VotingEnsemble 會被視為最佳模型。
我們會部署此模型,但提醒您部署大約需要 20 分鐘的時間才能完成。 部署程序需要幾個步驟,包括註冊模型、產生資源,以及為 Web 服務設定這些資源。
選取 [VotingEnsemble] 以開啟模型特定頁面。
選取左上方的 [部署] 功能表,然後選取 [部署至 Web 服務]。
填入 [部署模型] 窗格,如下所示:
欄位 值 部署名稱 my-automl-deploy 部署描述 我的第一個自動化機器學習實驗部署 計算類型 選取 Azure 容器執行個體 (ACI) 啟用驗證 [停用]。 使用自訂部署 [停用]。 允許自動產生預設驅動程式檔案 (計分指令碼) 和環境檔案。 在此範例中,我們使用 [進階] 功能表中提供的預設值。
選取部署。
[作業] 畫面頂端會出現綠色成功訊息,而在 [模型摘要] 窗格中,狀態訊息會顯示於 [部署狀態] 底下。 定期選取 [重新整理] 以檢查部署狀態。
現在您已有可運作的 Web 服務,可用來產生預測。
若要深入了解如何取用新的 Web 服務及如何使用 Power BI 內建的 Azure Machine Learning 支援來測試您的預測,請繼續進行後續步驟。
清除資源
部署檔案比資料和實驗檔案大,因此儲存的成本會較高。 如果您想要保留工作區和實驗檔案,那麼僅刪除部署檔案可將成本降到最低。 或者,如果您不打算使用任何檔案,您可以刪除整個資源群組。
刪除部署執行個體
如果您想保留資源群組與工作區以進行其他教學課程和探索,可以在 https://ml.azure.com/ 中只刪除 Azure Machine Learning 的部署執行個體。
移至 Azure Machine Learning。 瀏覽至您的工作區,並在左側的 [資產] 窗格下,選取 [端點]。
選取您想要刪除的部署,然後選取 [刪除]。
選取 [繼續]。
刪除資源群組
重要
您所建立的資源可用來作為其他 Azure Machine Learning 教學課程和操作說明文章的先決條件。
如果不打算使用您建立的任何資源,請刪除以免產生任何費用:
在 Azure 入口網站中,選取最左邊的 [資源群組]。
從清單中,選取您所建立的資源群組。
選取 [刪除資源群組]。
輸入資源群組名稱。 接著選取刪除。
下一步
在此自動化機器學習教學課程中,您已使用 Azure Machine Learning 的自動化 ML 介面來建立及部署分類模型。 請參閱下列文章,以了解更多資訊及接下來的步驟:
- 深入了解自動化機器學習。
- 如需分類計量與圖表的詳細資訊,請參閱了解自動化機器學習結果一文。
- 深入了解如何設定 NLP 的 AutoML。
注意
此銀行行銷資料集可在 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.