教學課程:在Power BI中建置機器學習模型

在本教學課程中,您會使用 自動化機器學習 在 Power BI 中建立和套用二進位預測模型。 您可以建立Power BI資料流,並使用您在數據流中定義的實體,直接在Power BI 中定型和驗證機器學習模型。 然後,您可以使用該模型來為新數據評分併產生預測。

首先,您會根據一組在線會話屬性,建立二進位預測機器學習模型來預測在線購物者的購買意圖。 您會針對此練習使用效能評定機器學習語意模型。 定型模型之後,Power BI 會自動產生驗證報告來說明模型結果。 然後,您可以檢閱驗證報告,並將模型套用至您的數據以進行評分。

本教學課程包含下列步驟:

  • 使用輸入數據建立數據流。
  • 建立和定型機器學習模型。
  • 檢閱模型驗證報告。
  • 將模型套用至數據流實體。
  • 在 Power BI 報表中使用模型的評分輸出。

使用輸入數據建立數據流

依照下列步驟建立具有輸入數據的數據流。

取得 資料

建立數據流的第一個步驟是讓數據源準備就緒。 在此情況下,您會從一組在線會話使用機器學習語意模型,其中一些最終導致購買。 語意模型包含一組關於這些會話的屬性,可用來定型模型。

您可以從 UC Irvine 網站或下載online_shoppers_intention.csv下載語意模型。 在本教學課程稍後,您會藉由指定其URL來連線到語意模型。

建立資料表

若要在數據流中建立實體,請登入 Power BI 服務 並流覽至工作區。

  1. 如果您沒有工作區,請在Power BI 左側瀏覽窗格中選取 [工作區 ],然後選取 [ 建立工作區] 來建立工作區。 在 [ 建立工作區 ] 面板中,輸入工作區名稱,然後選取 [ 儲存]。

    Screenshot of how to create a workspace.

  2. 選取 新工作區頂端的 [新增 ],然後選取 [數據流]。

    Screenshot of how to create a dataflow.

  3. 選取 [新增數據表 ] 以在瀏覽器中啟動 Power Query 編輯器。

    Screenshot of selecting Add new tables.

  4. 在 [ 選擇數據源] 畫面上,選取 [文字/CSV ] 作為數據源。

    Screenshot of selecting Text/CSV in Choose data source.

  5. 連線 至數據源頁面上,將下列連結貼到 [檔案路徑或 URL] 方塊中online_shoppers_intention.csv檔案,然後選取 [下一步]。

    https://raw.githubusercontent.com/santoshc1/PowerBI-AI-samples/master/Tutorial_AutomatedML/online_shoppers_intention.csv

    Screenshot that shows pasting in the file path.

  6. Power Query 編輯器 會顯示 CSV 檔案中數據的預覽。 若要在載入資料之前變更數據,請選取 [轉換數據]。

    Screenshot of selecting Transform data on the Preview file data screen.

  7. Power Query 會自動推斷數據行的數據類型。 您可以選取資料列標頭頂端的屬性類型圖示來變更資料類型。 將 Revenue 資料行的類型變更為 True/False

    您可以變更右窗格中 [名稱] 方塊中的值,將查詢重新命名為更方便的名稱。 將查詢名稱變更為 在線訪客

    Screenshot of changing the query name and Revenue column data type.

  8. 選取 [ 儲存並關閉],然後在對話框中提供數據流的名稱,然後選取 [ 儲存]。

    Screenshot of saving the dataflow.

建立和定型機器學習模型

若要新增機器學習模型:

  1. 針對包含定型數據和標籤資訊的數據表,選取 [動作] 清單中的 [套用 ML 模型] 圖示,然後選取 [新增機器學習模型]。

    Screenshot that shows adding a machine learning model.

  2. 建立機器學習模型的第一個步驟是識別歷程記錄數據,包括您想要預測的結果字段。 此模型是藉由從此數據學習所建立。 在此情況下,您想要預測訪客是否會進行購買。 您想要預測的結果位於 [營收 ] 欄位中。 選取 [收益 ] 作為 [結果] 數據行 值,然後選取 [ 下一步]。

    Screenshot that shows selecting a historical data field.

  3. 接下來,您可以選取要建立的機器學習模型類型。 Power BI 會分析您所識別的結果欄位中的值,並建議可建立以預測該欄位的機器學習模型類型。

    在此情況下,因為您想要預測訪客是否要購買的二進制結果,因此Power BI建議 進行二進位預測。 因為您有興趣預測要購買的訪客,請在 [選擇目標結果] 底下選取 true。 您也可以提供不同的標籤,以用於自動產生的報表中摘要模型驗證結果的結果。 然後選取下一步

    Screenshot that shows the Binary prediction screen.

  4. Power BI 會對數據的樣本進行初步掃描,並建議可能會產生更精確的預測的輸入。 如果 Power BI 不建議數據行,它會說明為何不在數據行旁邊。 您可以選取或取消選取數據行名稱旁的複選框,以變更選取範圍,只包含您想要模型研究的欄位。 選取 [下一步 ] 以接受輸入。

    Screenshot that shows the column selections.

  5. 在最後一個步驟中,將模型 命名為購買意圖預測,然後選擇要在定型中花費的時間量。 您可以減少定型時間來查看快速結果,或增加取得最佳模型的時間。 然後選取 [ 儲存並定型 ] 以開始定型模型。

    Screenshot that shows naming the model and choosing the training time.

如果您收到類似 數據源找不到認證的錯誤,您需要更新認證,讓 Power BI 可以為數據評分。 若要更新您的認證,請在標頭列中選取 [更多選項...],然後選取 [設定> 設定]。

Screenshot that shows selecting Settings.

在 [數據流] 底下 選取您的數據流,展開 [數據源認證],然後選取 [ 編輯認證]。

Screenshot that shows editing Dataflow credentials.

追蹤訓練狀態

定型程式從取樣和正規化歷程記錄數據開始,並將語意模型分割成兩個新實體:購買意圖預測定型數據和購買意圖預測測試數據

根據語意模型的大小,定型程式最多可能需要幾分鐘到您選取的定型時間。 您可以確認模型正在透過資料流的狀態進行定型和驗證。 在工作區的 [語意模型 + 數據流 ] 索引標籤中,狀態會顯示為數據重新整理進行中。

Screenshot that shows the model under training.

您可以在資料流的 [機器學習模型] 索引標籤中看到模型。 狀態 指出模型是否已排入佇列以進行定型、正在定型中,還是已定型。 模型定型完成後,數據流會顯示更新的上次定型時間和定型狀態

Screenshot that shows the Trained status and Last trained time.

檢閱模型驗證報告

若要檢閱模型驗證報告,請在 [機器學習模型] 索引卷標中,選取 [動作] 底下的 [檢視訓練報告] 圖示。 此報告描述您的機器學習模型執行方式。

在報表的 [ 模型效能] 頁面中,選取 [ 查看最上層預測器 ] 以檢視您模型的頂端預測器。 您可以選取其中一個預測值,以查看結果分佈如何與該預測值產生關聯。

Screenshot that shows the Model performance page.

您可以使用 [模型效能] 頁面上的 [機率臨界值交叉分析篩選器] 來檢查模型精確度召回率對模型的影響。

Screenshot that shows the Probability Threshold slicer.

報表的其他頁面描述模型的統計效能計量。

此報表也包含訓練詳細數據頁面,說明反覆項目執行、如何從輸入擷取特徵,以及最終模型使用的超參數

將模型套用至數據流實體

選取報表頂端的 [ 套用模型] 按鈕以叫用此模型。 在 [ 套用 ] 對話框中,您可以指定要套用模型之源數據的目標實體。 然後選取 [ 儲存並套用]。

Screenshot that shows applying the model.

套用模型會建立兩個新的數據表,其後綴會<擴充model_name>並擴充<model_name>說明。 在此情況下,將模型套用至 在線訪客 數據表會建立:

  • 在線訪客擴充了購買意圖預測,其中包含模型的預測輸出。
  • 在線訪客擴充了購買意圖預測說明,其中包含預測的最高記錄特定影響因素。

套用二進位預測模型會新增四個數據行:Result、PredictionScore、PredictionExplanationExplanationIndex,每個數據行都有購買意圖預測前置詞。

Screenshot that shows the four new columns.

數據流重新整理完成後,您可以選取 在線訪客擴充購買意圖預測 數據表來檢視結果。

Screenshot that shows viewing the results in the Online visitors enriched Purchase intent prediction table.

您也可以直接從數據流中的 Power Query 編輯器 叫用工作區中的任何自動化機器學習模型。 若要存取自動化機器學習模型,請針對您想要從自動化機器學習模型擴充深入解析的數據表選取 [編輯 ]。

Screenshot that shows selecting Edit for the table.

在 Power Query 編輯器 中,選取功能區中的 [AI 深入解析]。

Screenshot that shows selecting AI insights.

在 [AI 深入解析] 畫面上,從瀏覽窗格中選取 [Power BI 機器學習 Models] 資料夾。 此清單會顯示您有權存取的所有機器學習模型作為 Power Query 函式。 機器學習模型的輸入參數會自動對應為對應Power Query 函式的參數。 只有在參數的名稱和數據類型相同時,才會發生自動參數對應。

若要叫用機器學習模型,您可以選取任何選取的模型數據行作為下拉式清單中的輸入。 您也可以藉由切換輸入行旁的數據行圖示,來指定要作為輸入的常數值。

Screenshot that shows the Power Query functions browser.

選取 [ 套用 ] 以檢視機器學習模型輸出的預覽,作為數據表中的新數據行。 您也會在查詢的 [套用步驟] 底下看到模型調用。

Screenshot that shows viewing preview results in Power Query Editor.

儲存數據流之後,模型會在數據流重新整理時自動叫用實體數據表中任何新的或更新的數據列。

在 Power BI 報表中使用模型的評分輸出

若要使用機器學習模型的評分輸出,您可以使用數據流連接器從 Power BI Desktop 連線到數據流。 您現在可以使用 在線訪客擴充購買意圖預測 數據表,將模型預測納入Power BI報表中。

限制

使用閘道搭配自動化機器學習有一些已知問題。 如果您需要使用閘道,最好先建立數據流,以透過閘道匯入必要的數據。 然後建立另一個數據流,參考第一個數據流來建立或套用這些模型。

如果您的 AI 使用資料流失敗,您可能需要在搭配資料流使用 AI 時啟用快速合併。 匯入數據表之後,開始新增 AI 功能之前,請從 [常用] 功能區選取 [選項],然後在出現的視窗中選取 [允許合併多個來源的數據] 旁的複選框來啟用此功能,然後選取 [確定] 以儲存您的選取專案。 然後,您可以將 AI 功能新增至數據流。

在本教學課程中,您會執行下列步驟,在 Power BI 中建立並套用二進位預測模型:

  • 使用輸入數據建立數據流。
  • 已建立和定型機器學習模型。
  • 已檢閱模型驗證報告。
  • 將模型套用至數據流實體。
  • 瞭解如何在Power BI報表中使用模型的評分輸出。

如需Power BI 中 機器學習 自動化的詳細資訊,請參閱Power BI中的自動化機器學習。