教學課程:設計工具-定型無程式碼回歸模型

使用 Azure Machine Learning 設計工具來定型線性回歸模型,以預測汽車價格。 本教學課程是兩部分系列的第一部分。

本教學課程使用 Azure Machine Learning 設計工具,如需詳細資訊,請參閱什麼是 Azure Machine Learning 設計工具?

在本教學課程的第一部分中,您將瞭解如何:

  • 建立新管線。
  • 匯入資料。
  • 準備資料。
  • 將機器學習模型定型。
  • 評估機器學習模型。

在本教學課程的 第二部分 中,您會將模型部署為即時推斷端點,以根據您傳送的技術規格預測任何汽車的價格。

注意

本教學課程完成後,將可作為範例管線。

若要尋找此範例,請移至工作區中的設計工具。 在 [新增管線] 區段中,選取 [範例 1 - 迴歸:汽車價格預測 (基本)]

重要

如果您看不到這份文件中提及的圖形元素,例如工作室或設計工具中的按鈕,可能是您沒有工作區的正確權限層級。 請洽詢您的 Azure 訂用帳戶管理員,以確認您已獲得授與正確的存取層級。 如需詳細資訊,請參閱管理使用者和角色

建立新管線

Azure Machine Learning 管線會將多個機器學習和資料處理步驟組織成單一資源。 管線可讓您在不同的專案和使用者間組織、管理和重複使用複雜的機器學習工作流程。

若要建立 Azure Machine Learning 管線,您必須要有 Azure Machine Learning 工作區。 在本節中,您將了解如何建立這些資源。

建立新的工作區

您需要 Azure Machine Learning 工作區,才能使用設計工具。 工作區是 Azure Machine Learning 的最上層資源,其提供一個集中位置來處理您在 Azure Machine Learning 中建立的所有成品。 如需建立工作區的指示,請參閱建立和管理 Azure Machine Learning 工作區

注意

如果您的工作區使用虛擬網路,您必須使用其他設定步驟來使用設計工具。 如需詳細資訊,請參閱在 Azure 虛擬網路中使用 Azure Machine Learning 工作室

建立管線

  1. 登入 ml.azure.com,並選取您要使用的工作區。

  2. 選取 [設計工具]。

    視覺效果工作區的螢幕擷取畫面,其中顯示如何存取設計工具

  3. 選取 便於使用的預建元件

  4. 在畫布頂端選取預設管線名稱 Pipeline-Created-on。 請將其重新命名為 汽車價格預測。 此名稱不必是唯一的。

設定預設計算目標

對計算目標執行管線,此目標為連結至工作區的計算資源。 建立計算目標之後,您可以將其重複用於未來的執行。

您可以為整個管線設定 預設計算目標 ,這會指示每個元件依預設會使用相同的計算目標。 不過,您也可以針對每個模組指定計算目標。

  1. 在管線名稱旁邊,選取畫布頂端的 齒輪圖示 齒輪圖示螢幕擷取畫面,即可開啟 [設定] 窗格。

  2. 在畫布右側的 [設定] 窗格中,選取 [選取計算目標]。

    如果您已經有可用的計算目標,您可以選取該目標來執行此管線。

    注意

    設計工具只能在 Azure Machine Learning Compute 上執行訓練實驗,但其他計算目標將不會顯示。

  3. 輸入計算資源的名稱。

  4. 選取 [儲存]。

    注意

    建立計算資源大約需要五分鐘。 資源建立後,您可以在未來執行時加以重複使用,而略過這段等候時間。

    計算資源在閒置時會自動調整為零個節點,以節省成本。 當您在一段時間後再次加以使用時,它在相應增加時可能又會再出現約五分鐘的等候時間。

匯入資料

設計工具中包含數個範例資料集,可供您在實驗時使用。 在本教學課程中,使用 汽車價格資料 (未經處理)

  1. 管線畫布左側是資料集和元件的調色板。 選取 [範例資料集] 以查看可用的範例資料集。

  2. 選取資料集 汽車價格資料 (原始) ,並將其拖曳到畫布上。

    將資料拖曳到畫布

將資料視覺化

您可以將資料視覺化,以了解您將使用的資料集。

  1. 以滑鼠右鍵按一下 汽車價格資料 (原始) ,然後選取 [視覺化 > 資料集輸出]。

  2. 選取資料視窗中的不同資料行,以檢視各個資料行的相關資訊。

    每個資料列分別代表一款汽車,而與每款汽車相關聯的變數會顯示為資料行。 此資料集中有 205 個資料列和 26 個資料行。

準備資料

資料集在分析之前通常需進行一些前置處理。 您在檢查資料集時,可能會發現有某些遺漏值。 必須清除這些遺漏的值,才能讓模型正確地分析資料。

移除資料行

當您定型模型時,您必須對遺漏的資料採取某些動作。 在此資料集中,自負虧損 資料行遺漏了許多值,因此您會將該資料行完全排除於模型外。

  1. 在畫布左側的元件選擇區中,展開 [ 資料轉換 ] 區段,然後尋找 [資料 集元件中的選取資料行 ]。

  2. 將 [ 選取資料集中的資料行 ] 元件拖曳至畫布上。 將元件放在資料集元件下方。

  3. 連線 汽車價格資料 (原始) 資料集的資料 集元件中的選取資料行。 從資料集的輸出埠(畫布上資料集底部的小圓圈)拖曳到 資料集中選取資料行 的輸入埠,這是元件頂端的小圓圈。

    提示

    當您將某個元件的輸出埠連接到另一個元件的輸入埠時,您會透過管線建立資料流程。

    連線元件

  4. 選取 [ 選取資料集元件中的資料行 ]。

  5. 在畫布右側的 [元件詳細資料] 窗格中,選取 [ 編輯資料行]。

  6. 展開 [包含] 旁邊的 [資料行名稱] 下拉式清單,然後選取 [所有資料行]。

  7. 選取 + 以新增規則。

  8. 從下拉式功能表中,選取 [排除] 和 [資料行名稱]。

  9. 在文字方塊中輸入 自負虧損

  10. 在右下方選取 [儲存] 按鈕,以關閉資料行選取器。

    排除資料行

  11. 選取 [ 選取資料集元件中的資料行 ]。

  12. 在畫布右側的 [元件詳細資料] 窗格中,選取 [ 批註 ] 文字方塊,然後輸入 排除的正規化損失

    圖形上會出現註解,以協助您組織管線。

清除遺漏的資料

移除 自負虧損 資料行之後,您的資料集仍有遺漏值。 您可以使用 [ 清除遺漏資料 ] 元件來移除其餘遺漏的資料。

提示

從輸入資料中清除遺漏值是在設計工具中使用大部分元件的先決條件。

  1. 在畫布左側的元件選擇區中,展開 [ 資料轉換] 區段,然後尋找 [ 清除遺漏資料 ] 元件。

  2. 將 [ 清除遺漏的資料 ] 元件拖曳至管線畫布。 連線它加入 資料集元件中的 [選取資料行]。

  3. 選取 [ 清除遺漏的資料 ] 元件。

  4. 在畫布右側的 [元件詳細資料] 窗格中,選取 [ 編輯資料行]。

  5. 在顯示的 [要清除的資料行] 視窗中,展開 [包含] 旁的下拉式功能表。 選取 [所有資料行]

  6. 選取 [儲存]。

  7. 在畫布右側的 [元件詳細資料] 窗格中,選取 [清除模式] 下的 [移除整個資料列]。

  8. 在畫布右側的 [元件詳細資料] 窗格中,選取 [ 批註 ] 方塊,然後輸入 [ 移除遺漏值資料列]。

    您的管線此時應會顯示如下:

    Select-column

訓練機器學習模型

現在您已準備好用來處理資料的元件,您可以設定定型元件。

因為要預測價格,也就是一個數字,因此您將使用迴歸演算法。 在此範例中,您將使用線性迴歸模型。

分割資料

分割資料是機器學習服務中常見的工作。 您會將資料分割成兩個不同的資料集。 一個資料集會定型模型,另一個則會測試模型的執行效果。

  1. 在元件選擇區中,展開 [ 資料轉換 ] 區段,然後尋找 分割資料 元件。

  2. 分割資料 元件拖曳至管線畫布。

  3. 將 [清除遺漏資料] 元件的左邊埠連線 分割資料 元件。

    重要

    請確實將 清除遺漏的資料 的左側輸出連接埠連線至 分割資料。 左邊的埠包含已清除的資料。 右邊的埠包含捨棄的資料。

  4. 選取 分割資料 元件。

  5. 在畫布右側的 [元件詳細資料] 窗格中,將 第一個輸出資料集中 的資料列比例設定為0.7。

    此選項會分割 70% 的資料來定型模型,而 30% 供測試之用。 70% 的資料集將透過左側輸出連接埠來存取。 其餘資料可透過右側輸出連接埠取得。

  6. 在畫布右側的 [元件詳細資料] 窗格中,選取 [ 批註 ] 方塊,然後輸入將 資料集分割成定型集 (0.7) 和測試集 (0.3)

將模型定型

藉由提供一個包含價格的資料集,將模型定型。 此演算法會建立一個模型,用以說明定型資料所呈現的特性與價格之間的關聯性。

  1. 在元件選擇區中,展開 [機器學習演算法]。

    此選項會顯示數個可供您用來初始化學習演算法的元件類別。

  2. 選取 [迴歸] > [線性迴歸],然後將其拖曳到管線畫布上。

  3. 在元件選擇區中,展開 [ 模組定型] 區段,然後將 [ 定型模型 ] 元件拖曳至畫布。

  4. 連線「線性回歸」元件的輸出至「定型模型」元件的左邊輸入。

  5. 連線「分割資料」元件的「 (左埠) 至「定型模型」元件右邊輸入的定型資料輸出。

    重要

    請確實將 分割資料 的左側輸出連接埠連線至 定型模型。 左邊的埠包含定型集。 右側連接埠包含測試集。

    顯示定型模型元件正確設定的螢幕擷取畫面。線性回歸元件會連接到定型模型元件的左側埠,而分割資料元件則會連接到定型模型的右埠。

  6. 選取 [ 定型模型 ] 元件。

  7. 在畫布右側的 [元件詳細資料] 窗格中,選取 [ 編輯資料行 選取器]。

  8. 在 [標籤資料行] 對話方塊中,展開下拉式功能表,然後選取 [資料行名稱]。

  9. 在文字方塊中輸入 價格,以指定您的模型要預測的值。

    重要

    請確定您輸入的資料行名稱完全相符。 price 的首字母請勿使用大寫。

    您的管線應會顯示如下:

    顯示在新增定型模型元件之後,正確設定管線的螢幕擷取畫面。

新增計分模型元件

使用 70% 的資料來定型模型後,您即可將該模型用來為其他 30% 的資料評分,以了解模型的運作是否理想。

  1. 在 [搜尋] 方塊中輸入 計分模型 ,以尋找 評分模型 元件。 將元件拖曳到管線畫布上。

  2. 連線「定型模型」元件的輸出至「評分模型」的左側輸入埠。 連線 [分割資料] 元件的 [測試資料輸出] (右埠) 到 評分模型 的右側輸入埠。

新增評估模型元件

您可以使用 [ 評估模型 ] 元件來評估您的模型對測試資料集評分的程度。

  1. 在搜尋方塊中輸入 評估 ,以尋找 評估模型 元件。 將元件拖曳到管線畫布上。

  2. 連線「評分模型」元件的輸出至「評估模型」的左邊輸入。

    最終的管線應會顯示如下:

    此螢幕擷取畫面顯示管線的正確組態。

提交管線

現在管線已全部設定完成,您可以提交管線執行來定型您的機器學習模型。 您可以在任何時間點提交有效的管線執行,以便在開發期間用來檢閱管線的變更。

  1. 在畫布頂端,選取 [提交]。

  2. 在 [設定管線執行] 對話方塊中,選取 [新建]。

    注意

    實驗群組的類似管線會一起執行。 如果您多次執行某個管線,您可以選取相同的實驗進行後續執行。

    1. 針對 [新的實驗名稱],輸入 Tutorial-CarPrices

    2. 選取 [提交] 。

    您可以在畫布右上方檢視執行狀態和詳細資料。

    如果這是第一次執行,您的管線可能需要 20 分鐘的時間才能完成執行。 預設計算設定的最小節點大小為 0,這表示設計工具必須在閒置之後配置資源。 重複的管線執行花費較少的時間,因為已經配置計算資源。 此外,設計工具會針對每個元件使用快取的結果,以進一步提升效率。

檢視評分標籤

執行完成後,您可以檢視管線執行的結果。 首先,請查看迴歸模型產生的預測。

  1. 以滑鼠右鍵按一下 [計分模型] 元件,然後選取 [視覺化 > 計分資料集] 以查看其輸出。

    您可以在這裡看到測試資料中的預測價格和實際價格。

    此螢幕擷取畫面將「評分標籤」資料行醒目提示的輸出視覺效果

評估模型

使用 評估模型,查看定型模型對測試資料集的執行效果。

  1. 以滑鼠右鍵按一下 [評估模型] 元件,然後選取 [ > 將 評估結果 視覺化] 以查看其輸出。

您的模型會顯示下列統計資料:

  • 平均絕對誤差 (MAE) :絕對誤差的平均值。 誤差是指預測值與實際值之間的差異。
  • 均方根誤差 (RMSE) :對測試資料集所做之預測的平方誤差的評分根平均值。
  • 相對絕對誤差:相對於實際值與所有實際值之平均值之間的絕對差異的絕對誤差平均值。
  • 相對平方誤差:相對於實際值與所有實際值之平均值之間的平方差異的平方誤差平均值。
  • 決定係數:也稱為 R 平方值,這是一個統計計量,可指出模型對於資料的適用程度。

針對每個誤差統計資料,越小越好。 值越小,表示預測越接近實際值。 就決定係數而言,其值愈接近一 (1.0),預測就愈精準。

清除資源

如果您想要繼續進行本教學課程的第2部分:部署模型,請略過本節。

重要

您可以使用您所建立的資源,作為其他 Azure Machine Learning 教學課程和操作說明文章的先決條件。

刪除所有內容

如果您不打算使用所建立的任何資源,請刪除整個資源群組,以免產生任何費用。

  1. 在 Azure 入口網站中,於視窗左側選取 [資源群組]。

    在 Azure 入口網站中刪除資源群組

  2. 在清單中,選取您所建立的資源群組。

  3. 選取 [刪除資源群組]。

刪除資源群組同時會刪除您在設計工具中建立的所有資源。

刪除個別資產

在建立實驗的設計工具中,藉由選取個別資產,再選取 [刪除] 按鈕,即可刪除個別資產。

您在這裡建立的計算目標會在不使用時 自動調整 為零個節點。 如此可將費用降至最低。 如果您想要刪除計算目標,請採取下列步驟:

刪除資產

您可以選取每個資料集並選取 [取消註冊],從工作區中將資料集取消註冊。

取消註冊資料集

若要刪除資料集,請使用 Azure 入口網站或 Azure 儲存體總管移至儲存體帳戶,並手動刪除這些資產。

後續步驟

在第二部分中,您將了解如何將模型部署為即時端點。