使用 Azure Machine Learning 分析資料
本教學課程使用 Azure Machine Learning 設計工具,以建置預測性機器學習模型。 此模型是以 Azure Synapse 中儲存的資料為基礎。 本教學課程的案例是要預測客戶是否可能購買自行車,好讓自行車商店 Adventure Works 能建置目標行銷活動。
Prerequisites
若要逐步執行本教學課程,您需要:
- 預先載入 AdventureWorksDW 範例資料的 SQL 集區。 如要進行佈建,請參閱建立 SQL 集區並選擇載入範例資料。 若您已有資料倉儲但沒有範例資料,您可以手動載入範例資料。
- Azure Machine Learning 工作區。 遵循本教學課程來建立新的。
取得資料
使用的資料位於 AdventureWorksDW 的 dbo.vTargetMail 檢視中。 如要在本教學課程中使用資料存放區,資料需先匯出至 Azure Data Lake Storage 帳戶,因為 Azure Synapse 目前不支援資料集。 使用複製活動,便可以透過 Azure Data Factory 將資料從資料倉儲匯出至 Azure Data Lake Storage。 使用下列查詢匯入:
SELECT [CustomerKey]
,[GeographyKey]
,[CustomerAlternateKey]
,[MaritalStatus]
,[Gender]
,cast ([YearlyIncome] as int) as SalaryYear
,[TotalChildren]
,[NumberChildrenAtHome]
,[EnglishEducation]
,[EnglishOccupation]
,[HouseOwnerFlag]
,[NumberCarsOwned]
,[CommuteDistance]
,[Region]
,[Age]
,[BikeBuyer]
FROM [dbo].[vTargetMail]
Azure Data Lake Storage 中的資料可供使用之後,Azure Machine Learning 中的資料存放區就會用來連線至 Azure 儲存體服務。 遵循下列步驟來建立資料存放區和對應的資料集:
從 Azure 入口網站或在 Azure Machine Learning 工作室中登入,以啟動 Azure Machine Learning 工作室。
在 [管理] 區段的左窗格中,按一下 [資料存放區],然後按一下 [新增資料存放區]。
提供資料存放區的名稱,選取 [Azure Blob 儲存體] 類型,並提供位置和認證。 接著按一下 [ 建立]。
接下來,在 [資產] 區段的左窗格中,按一下 [資料集]。 選取 [建立資料集],使用 [從資料存放區] 選項。
指定資料集的名稱,然後選取 [表格式] 的類型。 然後按 [下一步] 繼續操作。
在 [選取或建立資料存放區] 區段中,選取 [先前已建立的資料存放區] 選項。 選取先前建立的資料存放區。 按一下 [下一步],然後指定路徑和檔案設定。 若檔案包含資料行標頭,請務必指定它。
最後,按一下 [建立],以建立資料集。
設定設計工具實驗
接下來,依照下列步驟進行設計工具設定:
在 [作者] 區段的左窗格中,按一下 [設計工具] 索引標籤。
選取 [易於使用的預建元件] 來建置新管線。
在右邊的 [設定] 窗格中,指定管線的名稱。
此外,針對 [設定] 按鈕中的整個實驗,選取目標計算叢集至先前佈建的叢集。 關閉 [設定] 窗格。
匯入資料
在搜尋方塊下方的左窗格中,選取 [資料集] 子索引標籤。
將您稍早建立的資料集拖曳至畫布。
清除資料
如要清除資料,請卸除與模型無關的資料行。 遵循下列步驟:
選取左窗格中的 [元件] 子索引標籤。
將 [資料轉換 < 操作] 底下的 [在資料集中選取資料行] 元件拖曳至畫布中。 將此元件連線至 [資料集] 元件。
按一下元件以開啟屬性窗格。 按一下 [編輯資料行] 以指定您想要捨棄的資料行。
排除兩個資料行:CustomerAlternateKey 和 GeographyKey。 按一下 [儲存]
建立模型
我們將會以 80-20 的比例分割資料:80% 用於定型機器學習模型,20% 用於測試模型。 我們會使用「二元」演算法來處理這個二進位分類問題。
將 [分割資料] 元件拖曳至畫布中。
在屬性窗格中,針對 [第一個輸出資料集的資料列比例],輸入 0.8。
將 [二元促進式決策樹] 元件拖曳至畫布。
將 [定型模型] 元件拖曳至畫布。 透過連線至 [二元促進式決策樹] (ML 演算法) 和 [分割資料] (用來定型演算法的資料) 元件,來指定輸入。
針對 [定型模型] 模型,請在 [屬性] 窗格的 [標籤資料行] 選項中,選取 [編輯資料行]。 選取 [BikeBuyer] 資料行做為要預測的資料行,然後選取 [儲存]。
評分模型
現在,測試模型如何在測試資料上執行。 系統將會比較兩個不同的演算法,以查看哪一個演算法執行效果更佳。 遵循下列步驟:
將 [評分模型] 元件拖曳至畫布中,並將其連線至 [定型模型] 和 [分割資料] 元件。
將 [二元貝氏機率分類平均感知器] 拖曳至實驗畫布。 您將會比較這個演算法和二元促進式決策樹的執行效果。
複製 [定型模型] 和 [評分模型] 等元件,並貼在畫布上。
將 [評估模型] 元件拖曳至畫布,以比較兩個演算法。
按一下 [提交] 以設定管線執行。
執行完成後,以滑鼠右鍵按一下 [評估模型] 元件,然後按一下 [將評估結果視覺化]。
提供的計量資訊包括 ROC 曲線、正確性-召回圖表和升力曲線。 查看這些計量,可發現到第一個模型的執行效果優於第二個。 如要查看第一個模型所預測的內容,請以滑鼠右鍵按一下 [評分模型] 元件,然後按一下 [將評分資料集視覺化] 以查看預測的結果。
您會看到另外兩個資料行加入至您的測試資料集。
- 評分機率:客戶成為自行車購買者的可能性。
- 評分標籤:由模型完成的分類 – 是自行車購買者 (1) 或不是 (0)。 標籤的機率臨界值設定為 50%,而且可以調整。
比較 BikeBuyer (實際) 資料行和評分標籤 (預測),您可以看到模型的執行效果。 接下來,您可以使用此模型對新客戶進行預測。 您可以將此模型發佈為 Web 服務,或將結果寫回 Azure Synapse。
後續步驟
如要深入瞭解 Azure Machine Learning,請參閱 Azure 上的機器學習簡介。
如要深入瞭解資料倉儲中的內建評分,請參閱此處。