在 Azure Machine Learning 中探索自動化機器學習
在本練習中,您將使用 Azure Machine Learning 中的自動化機器學習功能來定型和評估機器學習模型。 接著,您將部署及測試定型的模型。
此練習應該需要大約 30 分鐘才能完成。
建立 Azure Machine Learning 工作區
若要使用 Azure Machine Learning,您必須在 Azure 訂用帳戶中佈建 Azure Machine Learning 工作區。 然後,您將能夠使用 Azure Machine Learning 工作室來處理工作區中的資源。
秘訣:如果您已經有 Azure Machine Learning 工作區,則可以使用該工作區並跳至下一個工作。
-
使用 Microsoft 認證,登入位於
https://portal.azure.com
的 Azure 入口網站。 - 選取 [+建立資源]**、搜尋 Machine Learning,然後使用下列設定來建立新的 **Azure Machine Learning 資源:
- 訂用帳戶:您的 Azure 訂用帳戶。
- 資源群組:建立或選取資源群組**。
- 名稱:輸入工作區的唯一名稱。
- 區域:選取最接近的地理區域**。
- 儲存體帳戶:留意將為您的工作區建立的預設新儲存體帳戶**。
- 金鑰保存庫:留意將為您的工作區建立的預設新金鑰保存庫**。
- 應用程式見解:留意將為您的工作區建立的預設新應用程式見解資源**。
- 容器登錄:無 (第一次將模型部署到容器時會自動建立**)。
-
選取 [檢閱 + 建立]**,然後選取 [建立]**。 等候工作區建立 (可能需要幾分鐘),然後移至已部署的資源。
-
選取 [啟動工作室]** (或開啟新的瀏覽器索引標籤,並瀏覽至 https://ml.azure.com,然後使用您的 Microsoft 帳戶登入 Azure Machine Learning 工作室)。 關閉顯示的任何訊息。
- 在 Azure Machine Learning 工作室中,您應該會看到新建立的工作區。 如果沒有,請選取左側功能表中的 [所有工作區]**,然後選取您剛才建立的工作區。
使用自動化機器學習來定型模型
自動化機器學習可讓您嘗試多個演算法和參數來定型多個模型,並找出適用於資料的最佳演算法和參數。 在此練習下,您將使用自行車租借歷史詳細資料的資料集將模型定型,該模型會根據季節和氣象特徵,預測指定日期預期的自行車租借數目。
引文:此練習中使用的資料衍生自 Capital Bikeshare,並按照已發佈的資料授權合約來使用。
-
在 Azure Machine Learning 工作室中,檢視 [自動化 ML]** 頁面 (位在 [作者]** 下)。
-
使用下列設定建立新的自動化 ML 作業,並視需要使用 [下一步]** 來逐步執行使用者介面:
基本設定:
- 作業名稱:
mslearn-bike-automl
- 新的實驗名稱:
mslearn-bike-rental
- 描述:用於自行車租借數目預測的自動化機器學習
- 標籤:無
工作類型與資料:
- 選取工作類型:迴歸
- 選取資料集:建立一個包含以下設定的新資料集:
- 資料類型:
- 名稱:
bike-rentals
- 描述:
Historic bike rental data
- 類型:資料表 (mltable)
- 名稱:
- 資料來源:
- 選取 [來自本機檔案]**
- 目的地儲存體類型:
- 資料存放區類型:Azure Blob 儲存體
- 名稱:workspaceblobstore
- MLtable 選取項目:
- 上傳資料夾:下載並解壓縮包含您所需要上傳兩個檔案的資料夾
https://aka.ms/bike-rentals
- 上傳資料夾:下載並解壓縮包含您所需要上傳兩個檔案的資料夾
選取 建立。 建立資料集之後,選取 [自行車租借數目]** 資料集以繼續提交自動化 ML 作業。
- 資料類型:
工作設定:
- 工作類型:迴歸
- 資料集:bike-rentals
- 目標資料行:租金 (整數)
- 其他組態設定:
- 主要計量:NormalizedRootMeanSquaredError
- 解釋最佳模型:未選取
- 啟用整體堆疊:未選取
- 使用所有支援的模型:未選取。 您將限制作業只嘗試幾個特定演算法。**
- 允許的模型:只選取 RandomForest 和 LightGBM - 通常建議盡可能嘗試,但每新增一個模型就會增加執行作業所需的時間。**
- 限制:展開此區段
- 試用上限:
3
- 同時試用上限:
3
- 節點數上限:
3
- 計量分數閾值:
0.085
(以便若模型達到 0.085 或更小的標準化均方根誤差計量分數時,作業就會結束。) - eXPERIMENT 逾時:
15
- 反覆項目逾時:
15
- 啟用提前終止:已選取
- 試用上限:
- 驗證和測試:
- 驗證類型:訓練/驗證分割
- 驗證資料的百分比:10
- 測試資料集:無
計算:
- 選取計算類型:無伺服器
- 虛擬機器類型:CPU
- 虛擬機器層:專用
- 虛擬機器大小:Standard_DS3_V2*
- 執行個體數目:1
* 如果您的訂用帳戶限制您可用的 VM 大小,請選擇任何可用的大小。
- 作業名稱:
-
提交定型作業。 它會自動啟動。
-
請等候作業完成。 這可能需要一些時間,現在或許是喝咖啡休息的好時機!
檢閱最佳模型
當自動化機器學習作業完成時,您可以檢閱其定型的最佳模型。
-
在自動化機器學習作業的 [概觀]** 索引標籤上,留意最佳模型摘要。
注意 您可能會在狀態下看到訊息:「警告:使用者指定的結束分數已達到…」。 這是預期的訊息。 請繼續下一個步驟。
-
選取最佳模型 [演算法名稱]** 下方的文字,以檢視其詳細資料。
-
選取 [計量]** 索引標籤,然後選取殘差與 **predicted_true 圖表 (如果尚未選取)。
檢閱顯示模型效能的圖表。 殘差圖會將殘差 (預測值與實際值之間的差異) 顯示為長條圖。 predicted_true 圖表會比較預測值與真正的值。
部署和測試模型
- 在 [模型]** 索引標籤上,針對自動化機器學習作業所定型的最佳模型,選取 [部署]** 並使用 [即時端點]** 選項,以下列設定來部署模型:
- 虛擬機器:Standard_DS3_v2
- 執行個體計數:3
- 端點:新增
- 端點名稱:保留預設值,或確定其是全域唯一的
- 部署名稱:保留預設值**
- 推斷資料收集:Disabled
- 套件模型:Disabled
- 等待部署啟動,這可能需要幾秒鐘的時間。 [預測租借數目]** 端點的 [部署狀態]** 將會在頁面的主要部分中指出為 [執行中]**。
- 等候 [部署狀態]** 變更為 [成功]。 這可能需要 5-10 分鐘。
測試已部署的服務
現在您可以測試已部署的服務。
-
在 Azure Machine Learning 工作室的左側功能表中,選取 [端點]**,然後開啟 [預測租借數目]** 即時端點。
-
在 [預測租借數目]** 即時端點頁面上,檢視 [測試]** 索引標籤。
-
在 [輸入資料以測試端點]** 窗格中,將範本 JSON 換成下列輸入資料:
{ "input_data": { "columns": [ { "day": 1, "mnth": 1, "year": 2022, "season": 2, "holiday": 0, "weekday": 1, "workingday": 1, "weathersit": 2, "temp": 0.3, "atemp": 0.3, "hum": 0.3, "windspeed": 0.3 } ], "index": [], "data": [] } }
-
按一下 [測試]** 按鈕。
-
檢閱測試結果,其中包含根據輸入特徵預測的租賃次數 - 看起來像這樣:
{ "Results": [ 444.27799000000000 ] }
測試窗格取得輸入資料,並使用您定型的模型,以傳回預測的租賃次數。
讓我們檢閱您已完成的工作。 您已使用歷程記錄自行車租借資料的資料集來定型模型。 此模型會根據季節性和氣象特徵,預測指定一天預期的自行車租借數量。
清理
您建立的 Web 服務會裝載在 Azure 容器執行個體中。 如果您不打算進一步試驗此服務,則應刪除端點,以避免產生不必要的 Azure 使用量。
-
在 Azure Machine Learning Studio 的 [端點]** 索引標籤上,選取 **predict-rentals 端點。 然後,選取 [刪除] **,並確認您想要刪除該端點。
刪除您的計算可確保您的訂用帳戶不需支付計算資源的費用。 不過,只要您的訂用帳戶中有 Azure Machine Learning 工作區,您就必須為了資料儲存空間支付少量的費用。 如果您已完成探索 Azure Machine Learning,則可刪除 Azure Machine Learning 工作區及其相關的資源。
若要刪除您的工作區:
- 在 Azure 入口網站的 [資源群組]** 頁面中,開啟在建立 Azure Machine Learning 工作區時所指定的資源群組。
- 按一下 [刪除資源群組]**、輸入資源群組名稱以確認要刪除,然後選取 [刪除]**。