使用 Azure 機器學習 分析數據

本教學課程使用 Azure 機器學習 設計工具來建置預測性機器學習模型。 此模型是以儲存在 Azure Synapse 中的數據為基礎。 本教學情境旨在預測客戶是否可能購買自行車,以便 Adventure Works 自行車店能夠制定精準行銷活動。

必要條件

若要逐步執行本教學課程,您需要:

  • 預先載入 AdventureWorksDW 範例數據的 SQL 集區。 若要布建此 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 機器學習 中的數據存放區會用來連線到 Azure 記憶體服務。 請遵循下列步驟來建立資料存放區和對應的數據集:

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

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

    Azure 機器學習 介面左窗格的螢幕快照

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

  4. 接下來,單擊資料集資產 區段的左側窗格中。 選取[建立數據集],並選擇[從數據存放區]選項。

  5. 指定資料集的名稱,然後選擇類型為 表格式。 然後,按 [下一步] 以繼續前進。

  6. 在 [選取或建立數據存放區] 區段中,選取 [先前建立的數據存放區] 選項。 選取稍早建立的數據存放區。 按 [下一步] 並指定路徑和檔案設定。 如果檔案包含欄位標題,請務必指定欄位標題。

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

設定設計工具實驗

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

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

  2. 選取 [容易使用的預先建置元件 ] 以建置新的管線。

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

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

匯入資料

  1. 選取搜尋方塊下方左窗格中的[數據集] 子標籤

  2. 將稍早建立的數據集拖曳至畫布。

    畫布上數據集元件的螢幕快照。

清理資料

若要清除數據,請卸除與模型無關的數據行。 請執行以下步驟:

  1. 選取左窗格中的 元件 子標籤。

  2. 選取資料集中的資料行元件,從資料轉換 < 操作拖曳到畫布中。 將此元件連線至 數據集 元件。

    畫布上欄選取元件的螢幕快照。

  3. 單擊元件以開啟 [屬性] 窗格。 按一下 [編輯欄位] 以指定要移除的欄位。

  4. 排除兩個數據行:CustomerAlternateKey 和 GeographyKey。 按下 [儲存]

    顯示已卸除之欄位的螢幕快照。

建立模型

數據分割為 80-20:80% 來定型機器學習模型,20% 用來測試模型。 此二元分類問題會使用「雙類別」演算法。

  1. Split Data 元件拖曳至畫布。

  2. 在 [屬性] 窗格中,針對 第一個輸出數據集中的數據列分數輸入 0.8。

    顯示 0.8 分割比例的螢幕快照。

  3. 二元增強決策樹 元件拖曳到畫布中。

  4. 訓練模型 元件拖曳至畫布。 將其連線到二元促進決策樹 (ML 演算法) 和分割資料 (用於訓練演算法的資料) 元件,以指定輸入。

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

    顯示已選取 [BikeBuyer] 標籤數據行的螢幕快照。

    顯示訓練模型元件已連線至雙類別 Boosted Decision Tree 和分割資料元件的螢幕擷取畫面。

為模型評分

現在,測試模型在測試數據上的表現如何。 將比較兩個不同的演算法,看看哪一個執行得更好。 請執行以下步驟:

  1. Score Model元件拖曳至畫布中,並連接至Train ModelSplit Data元件。

  2. 雙類別貝氏平均感知機 拖曳到實驗畫布中。 您將比較此演算法在效能方面如何與雙類提升決策樹相較。

  3. 複製並貼上下列元件至畫布:訓練模型評分模型

  4. 將評估 模型 元件拖曳到畫布中,以比較這兩種演算法。

  5. 按一下 提交 以設定管道執行。

    畫布上所有其餘元件的螢幕快照。

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

    結果的螢幕快照。

提供的指標包括 ROC 曲線、精確率-召回率圖,以及提升曲線。 查看這些計量,以查看第一個模型的執行效能優於第二個模型。 若要查看第一個模型預測的內容,請以滑鼠右鍵按兩下評分模型元件,然後按兩下 [可視化評分數據集] 以查看預測的結果。

您會看到另外兩個新增至測試資料集的欄位。

  • Scored Probabilities:客戶是自行車買家的可能性。
  • Scored Labels:模型執行的分類 - 自行車買家 (1) 或否 (0)。 標記的這個機率臨界值設定為50%,而且可以調整。

比較 BikeBuyer 資料行 (實際值) 與 Scored Labels (預測值),以查看模型表現的好壞。 接下來,您可以使用此模型為新客戶進行預測。 您可以將 此模型發佈為 Web 服務 ,或將結果寫回 Azure Synapse。

下一步

若要深入瞭解 Azure 機器學習,請參閱 Azure 上的 機器學習 簡介。

在這裡了解數據倉儲中的內建評分。