使用 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 儲存體服務。 遵循下列步驟來建立資料存放區和對應的資料集:

  1. 從 Azure 入口網站或在 Azure Machine Learning 工作室中登入,以啟動 Azure Machine Learning 工作室。

  2. 在 [管理] 區段的左窗格中,按一下 [資料存放區],然後按一下 [新增資料存放區]。

    螢幕擷取畫面:Azure Machine Learning 介面左側窗格

  3. 提供資料存放區的名稱,選取 [Azure Blob 儲存體] 類型,並提供位置和認證。 接著按一下 [ 建立]。

  4. 接下來,在 [資產] 區段的左窗格中,按一下 [資料集]。 選取 [建立資料集],使用 [從資料存放區] 選項。

  5. 指定資料集的名稱,然後選取 [表格式] 的類型。 然後按 [下一步] 繼續操作。

  6. 在 [選取或建立資料存放區] 區段中,選取 [先前已建立的資料存放區] 選項。 選取先前建立的資料存放區。 按一下 [下一步],然後指定路徑和檔案設定。 若檔案包含資料行標頭,請務必指定它。

  7. 最後,按一下 [建立],以建立資料集。

設定設計工具實驗

接下來,依照下列步驟進行設計工具設定:

  1. 在 [作者] 區段的左窗格中,按一下 [設計工具] 索引標籤。

  2. 選取 [易於使用的預建元件] 來建置新管線。

  3. 在右邊的 [設定] 窗格中,指定管線的名稱。

  4. 此外,針對 [設定] 按鈕中的整個實驗,選取目標計算叢集至先前佈建的叢集。 關閉 [設定] 窗格。

匯入資料

  1. 在搜尋方塊下方的左窗格中,選取 [資料集] 子索引標籤。

  2. 將您稍早建立的資料集拖曳至畫布。

    螢幕擷取畫面:畫布上的資料集元件。

清除資料

如要清除資料,請卸除與模型無關的資料行。 遵循下列步驟:

  1. 選取左窗格中的 [元件] 子索引標籤。

  2. 將 [資料轉換 < 操作] 底下的 [在資料集中選取資料行] 元件拖曳至畫布中。 將此元件連線至 [資料集] 元件。

    螢幕擷取畫面:畫布上的資料行選取元件。

  3. 按一下元件以開啟屬性窗格。 按一下 [編輯資料行] 以指定您想要捨棄的資料行。

  4. 排除兩個資料行:CustomerAlternateKey 和 GeographyKey。 按一下 [儲存]

    螢幕擷取畫面,其中顯示已卸除的資料行。

建立模型

我們將會以 80-20 的比例分割資料:80% 用於定型機器學習模型,20% 用於測試模型。 我們會使用「二元」演算法來處理這個二進位分類問題。

  1. 將 [分割資料] 元件拖曳至畫布中。

  2. 在屬性窗格中,針對 [第一個輸出資料集的資料列比例],輸入 0.8。

    螢幕擷取畫面,其中顯示分割率 0.8。

  3. 將 [二元促進式決策樹] 元件拖曳至畫布。

  4. 將 [定型模型] 元件拖曳至畫布。 透過連線至 [二元促進式決策樹] (ML 演算法) 和 [分割資料] (用來定型演算法的資料) 元件,來指定輸入。

  5. 針對 [定型模型] 模型,請在 [屬性] 窗格的 [標籤資料行] 選項中,選取 [編輯資料行]。 選取 [BikeBuyer] 資料行做為要預測的資料行,然後選取 [儲存]。

    螢幕擷取畫面,其中顯示已選取標籤資料行 BikeBuyer。

    螢幕擷取畫面,其中顯示連線至二元促進式決策樹和分割資料元件的定型模型元件。

評分模型

現在,測試模型如何在測試資料上執行。 系統將會比較兩個不同的演算法,以查看哪一個演算法執行效果更佳。 遵循下列步驟:

  1. 將 [評分模型] 元件拖曳至畫布中,並將其連線至 [定型模型] 和 [分割資料] 元件。

  2. 將 [二元貝氏機率分類平均感知器] 拖曳至實驗畫布。 您將會比較這個演算法和二元促進式決策樹的執行效果。

  3. 複製 [定型模型] 和 [評分模型] 等元件,並貼在畫布上。

  4. 將 [評估模型] 元件拖曳至畫布,以比較兩個演算法。

  5. 按一下 [提交] 以設定管線執行。

    螢幕擷取畫面:畫布上的所有其餘元件。

  6. 執行完成後,以滑鼠右鍵按一下 [評估模型] 元件,然後按一下 [將評估結果視覺化]。

    螢幕擷取畫面:結果。

提供的計量資訊包括 ROC 曲線、正確性-召回圖表和升力曲線。 查看這些計量,可發現到第一個模型的執行效果優於第二個。 如要查看第一個模型所預測的內容,請以滑鼠右鍵按一下 [評分模型] 元件,然後按一下 [將評分資料集視覺化] 以查看預測的結果。

您會看到另外兩個資料行加入至您的測試資料集。

  • 評分機率:客戶成為自行車購買者的可能性。
  • 評分標籤:由模型完成的分類 – 是自行車購買者 (1) 或不是 (0)。 標籤的機率臨界值設定為 50%,而且可以調整。

比較 BikeBuyer (實際) 資料行和評分標籤 (預測),您可以看到模型的執行效果。 接下來,您可以使用此模型對新客戶進行預測。 您可以將此模型發佈為 Web 服務,或將結果寫回 Azure Synapse。

後續步驟

如要深入瞭解 Azure Machine Learning,請參閱 Azure 上的機器學習簡介

如要深入瞭解資料倉儲中的內建評分,請參閱此處